2014-11-12T00:00:37Z vaporatorius quit (Remote host closed the connection) 2014-11-12T00:01:52Z miql quit (Ping timeout: 258 seconds) 2014-11-12T00:02:28Z doh` joined #lisp 2014-11-12T00:04:52Z hiroakip quit (Ping timeout: 250 seconds) 2014-11-12T00:05:17Z tadni joined #lisp 2014-11-12T00:05:29Z Longlius quit (Ping timeout: 244 seconds) 2014-11-12T00:07:19Z mishoo_ quit (Ping timeout: 255 seconds) 2014-11-12T00:09:48Z rme joined #lisp 2014-11-12T00:10:42Z akkad: kohryu: check out :clack or :restas 2014-11-12T00:11:01Z akkad: kohryu: they build on hunchentoot 2014-11-12T00:11:16Z akkad: to provide the higher level features you can use to do logins etc 2014-11-12T00:18:27Z miql joined #lisp 2014-11-12T00:19:27Z freehck: How Peter Seibel uses uninitialized slots here: http://www.gigamonkeys.com/book/object-reorientation-classes.html 2014-11-12T00:19:42Z freehck: in chapter Object Initialization 2014-11-12T00:19:43Z paul0`` joined #lisp 2014-11-12T00:22:24Z nand1 quit (Remote host closed the connection) 2014-11-12T00:22:30Z __prefect joined #lisp 2014-11-12T00:22:49Z freehck: I constantly catch an error "The slot CL-FROLOV::CELLS is unbound in the object" 2014-11-12T00:22:54Z freehck: And it's true 2014-11-12T00:23:09Z miql quit (Ping timeout: 245 seconds) 2014-11-12T00:23:25Z paul0` quit (Ping timeout: 250 seconds) 2014-11-12T00:23:29Z freehck: When I call initialize-instance it's specifically unbound. How could be another? 2014-11-12T00:24:02Z nand1 joined #lisp 2014-11-12T00:24:48Z nha_ quit (Ping timeout: 250 seconds) 2014-11-12T00:25:21Z vowyer_: If it isn't initialized in initialize-instance or with :initform or :initarg, then it will be unbound 2014-11-12T00:25:29Z nand1 quit (Remote host closed the connection) 2014-11-12T00:26:27Z freehck: in Seibel's example: 2014-11-12T00:26:27Z freehck: (defclass bank-account () 2014-11-12T00:26:27Z freehck: ((customer-name 2014-11-12T00:26:27Z freehck: :initarg :customer-name 2014-11-12T00:26:27Z freehck: :initform (error "Must supply a customer name.")) 2014-11-12T00:26:27Z freehck: (balance 2014-11-12T00:26:27Z freehck: :initarg :balance 2014-11-12T00:26:28Z protist joined #lisp 2014-11-12T00:26:28Z freehck: :initform 0) 2014-11-12T00:26:28Z freehck: (account-number 2014-11-12T00:26:29Z freehck: :initform (incf *account-numbers*)) 2014-11-12T00:26:29Z freehck: account-type)) 2014-11-12T00:26:49Z nand1 joined #lisp 2014-11-12T00:27:03Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-12T00:27:06Z roo joined #lisp 2014-11-12T00:28:04Z freehck: vowyer_: and in his example he does next: 2014-11-12T00:28:04Z freehck: (setf (slot-value account 'account-type) ... 2014-11-12T00:29:56Z freehck: wow, I got 2014-11-12T00:29:57Z vowyer_: Looks correct, account-type is unbound 2014-11-12T00:30:26Z freehck: I tried to bound slot-value before using setf 2014-11-12T00:30:47Z vowyer_: inside initialize-instance? 2014-11-12T00:31:12Z attila_lendvai joined #lisp 2014-11-12T00:31:49Z freehck: yep, I had: 2014-11-12T00:31:49Z freehck: (let ((cells (slot-value grid 'cells))) 2014-11-12T00:31:49Z freehck: (setf cells (make-array cells-amount)) ... 2014-11-12T00:32:05Z freehck: this setf seems to be a very interesting magic 2014-11-12T00:33:16Z freehck: now I have: (setf (slot-value grid 'cells) (make-array cells-amount)) 2014-11-12T00:33:20Z freehck: And it does work 2014-11-12T00:33:54Z pecg quit (Ping timeout: 244 seconds) 2014-11-12T00:40:58Z kohryu: akkad: thx 2014-11-12T00:42:35Z munksgaard joined #lisp 2014-11-12T00:45:38Z miql joined #lisp 2014-11-12T00:49:00Z ktereyp joined #lisp 2014-11-12T00:50:17Z miql quit (Ping timeout: 245 seconds) 2014-11-12T00:50:18Z akkad: kohryu: np 2014-11-12T00:50:59Z brucea joined #lisp 2014-11-12T00:53:40Z jtz joined #lisp 2014-11-12T00:53:44Z brucea quit (Client Quit) 2014-11-12T00:54:22Z jtz quit (Client Quit) 2014-11-12T00:54:54Z jtz joined #lisp 2014-11-12T00:55:03Z jtz quit (Changing host) 2014-11-12T00:55:03Z jtz joined #lisp 2014-11-12T00:55:42Z EvW quit (Ping timeout: 244 seconds) 2014-11-12T00:56:50Z antonv` quit (Ping timeout: 264 seconds) 2014-11-12T00:57:06Z zRecursive joined #lisp 2014-11-12T00:57:15Z tadni quit (Remote host closed the connection) 2014-11-12T00:57:56Z tadni joined #lisp 2014-11-12T00:59:21Z spatials quit (Quit: leaving) 2014-11-12T00:59:30Z Niac joined #lisp 2014-11-12T01:05:13Z munksgaard quit (Read error: Connection reset by peer) 2014-11-12T01:08:31Z PuercoPop: freehck: you can even do (defun (setf foo) ...) as a way to inform setf how to setf a new form. There is also the more general way define-setf-expander 2014-11-12T01:10:25Z leb quit (Quit: Computer has gone to sleep.) 2014-11-12T01:11:12Z _leb joined #lisp 2014-11-12T01:12:49Z miql joined #lisp 2014-11-12T01:14:08Z jusss joined #lisp 2014-11-12T01:14:56Z vinleod joined #lisp 2014-11-12T01:17:02Z jusss quit (Read error: Connection reset by peer) 2014-11-12T01:17:50Z miql quit (Ping timeout: 264 seconds) 2014-11-12T01:20:01Z attila_lendvai quit (Quit: Leaving.) 2014-11-12T01:21:11Z tadni quit (Remote host closed the connection) 2014-11-12T01:25:57Z apathor joined #lisp 2014-11-12T01:26:02Z Longlius joined #lisp 2014-11-12T01:26:52Z gingerale quit (Read error: Connection reset by peer) 2014-11-12T01:29:06Z JokesOnYou77 quit (Quit: Leaving) 2014-11-12T01:30:42Z urandom__ quit (Quit: Konversation terminated!) 2014-11-12T01:36:26Z freehck: PuercoPop: Yes, I've already read it in PCL, but nevertheless this macro frightens me a little. ) 2014-11-12T01:36:36Z kohryu quit (Quit: Leaving) 2014-11-12T01:39:59Z miql joined #lisp 2014-11-12T01:42:53Z seggy is now known as segmond 2014-11-12T01:44:22Z fragamus quit (Quit: My iMac has gone to sleep. ZZZzzz…) 2014-11-12T01:45:10Z miql quit (Ping timeout: 265 seconds) 2014-11-12T01:50:53Z doh` quit (Ping timeout: 264 seconds) 2014-11-12T01:51:54Z tadni joined #lisp 2014-11-12T01:52:32Z ktereyp quit (Remote host closed the connection) 2014-11-12T01:53:02Z ktereyp joined #lisp 2014-11-12T01:55:04Z kanru` joined #lisp 2014-11-12T01:57:04Z pavelpenev quit (Remote host closed the connection) 2014-11-12T01:59:15Z clop joined #lisp 2014-11-12T02:04:19Z jumblerg joined #lisp 2014-11-12T02:05:04Z bsima joined #lisp 2014-11-12T02:07:11Z miql joined #lisp 2014-11-12T02:09:35Z munge joined #lisp 2014-11-12T02:11:31Z tadni quit (Remote host closed the connection) 2014-11-12T02:11:54Z miql quit (Ping timeout: 245 seconds) 2014-11-12T02:12:48Z copec quit (Quit: checkity check out.) 2014-11-12T02:17:21Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-12T02:19:55Z tadni joined #lisp 2014-11-12T02:22:01Z vowyer_ quit (Quit: C-x C-c) 2014-11-12T02:26:38Z loke: Hmm... Can I assume that the second return value from CL-PPCRE:SCAN-TO-STRINGS of a regex with a single parenthesised expression conforms to the type declaration (or null (simple-array simple-string (*))) ? 2014-11-12T02:27:01Z loke: Sorry 2014-11-12T02:27:08Z loke: I mean (or null (simple-array simple-string (1))) 2014-11-12T02:27:10Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-11-12T02:30:56Z frkout_ joined #lisp 2014-11-12T02:33:46Z frkout quit (Ping timeout: 244 seconds) 2014-11-12T02:34:22Z miql joined #lisp 2014-11-12T02:38:01Z Vutral quit (Excess Flood) 2014-11-12T02:39:02Z miql quit (Ping timeout: 255 seconds) 2014-11-12T02:42:30Z nick` joined #lisp 2014-11-12T02:44:27Z Vutral joined #lisp 2014-11-12T02:46:56Z doh` joined #lisp 2014-11-12T02:47:42Z klltkr_ joined #lisp 2014-11-12T02:49:29Z klltkr quit (Ping timeout: 265 seconds) 2014-11-12T02:50:26Z pcm` joined #lisp 2014-11-12T02:51:34Z doh` quit (Ping timeout: 255 seconds) 2014-11-12T02:57:20Z girrig quit (Ping timeout: 250 seconds) 2014-11-12T02:58:14Z girrig joined #lisp 2014-11-12T02:58:18Z jumblerg joined #lisp 2014-11-12T03:01:33Z miql joined #lisp 2014-11-12T03:04:08Z rme quit (Quit: rme) 2014-11-12T03:04:09Z rme quit (Quit: rme) 2014-11-12T03:05:40Z ggole joined #lisp 2014-11-12T03:06:26Z miql quit (Ping timeout: 264 seconds) 2014-11-12T03:07:52Z theseb joined #lisp 2014-11-12T03:08:44Z pcm` is now known as pcm2718 2014-11-12T03:10:24Z doh` joined #lisp 2014-11-12T03:12:06Z echo-area joined #lisp 2014-11-12T03:13:02Z theseb quit (Quit: Leaving) 2014-11-12T03:14:43Z araujo quit (Quit: Leaving) 2014-11-12T03:18:31Z drewc joined #lisp 2014-11-12T03:18:40Z pillton: Doesn't the length depend on the number of blocks to match? 2014-11-12T03:18:45Z rtoym quit (Remote host closed the connection) 2014-11-12T03:18:48Z loke: yes 2014-11-12T03:18:50Z pillton: i.e. It can be more than one. 2014-11-12T03:18:59Z loke: pillton: in this case I have a single parnensised block 2014-11-12T03:19:18Z loke: so, if I match for example "foo([0-9]+)" 2014-11-12T03:19:26Z pillton: I'd say so then. You will find out quickly enough. 2014-11-12T03:19:46Z loke: pillton: Yes, my question was more related to simple-string 2014-11-12T03:19:55Z loke: Are they actually simple-string's? 2014-11-12T03:20:19Z rtoym joined #lisp 2014-11-12T03:20:25Z pillton: Hmm I don't know. Is there an element type option to create scanner? 2014-11-12T03:20:46Z wooden joined #lisp 2014-11-12T03:20:46Z wooden quit (Changing host) 2014-11-12T03:20:46Z wooden joined #lisp 2014-11-12T03:21:35Z pillton: Surely the element type should match the string passed to the scanner. 2014-11-12T03:28:43Z miql joined #lisp 2014-11-12T03:30:49Z nick` quit (Remote host closed the connection) 2014-11-12T03:30:58Z rtra quit (Remote host closed the connection) 2014-11-12T03:32:50Z Bike: well, there's that sharedp thing which implies it could return a non simple string 2014-11-12T03:33:22Z miql quit (Ping timeout: 240 seconds) 2014-11-12T03:37:00Z doh` quit (Remote host closed the connection) 2014-11-12T03:37:07Z doh` joined #lisp 2014-11-12T03:38:52Z rme joined #lisp 2014-11-12T03:39:22Z innertracks quit (Ping timeout: 240 seconds) 2014-11-12T03:40:53Z drdanmaku quit (Quit: Connection closed for inactivity) 2014-11-12T03:40:57Z innertracks joined #lisp 2014-11-12T03:41:35Z GuilOooo quit (Ping timeout: 255 seconds) 2014-11-12T03:42:02Z chu joined #lisp 2014-11-12T03:42:36Z dagnachew quit (Quit: WeeChat 1.0.1) 2014-11-12T03:43:11Z TDog joined #lisp 2014-11-12T03:43:12Z yuikov joined #lisp 2014-11-12T03:47:09Z GuilOooo joined #lisp 2014-11-12T03:48:28Z effy quit (Read error: Connection reset by peer) 2014-11-12T03:48:29Z bsima quit (Quit: Leaving.) 2014-11-12T03:53:47Z beach joined #lisp 2014-11-12T03:53:55Z beach: Good morning everyone! 2014-11-12T03:55:38Z ktereyp quit (Remote host closed the connection) 2014-11-12T03:55:55Z miql joined #lisp 2014-11-12T03:56:18Z yuikov quit (Remote host closed the connection) 2014-11-12T03:56:28Z pillton: Good morning beach. 2014-11-12T03:56:43Z robot-beethoven joined #lisp 2014-11-12T03:56:48Z ktereyp joined #lisp 2014-11-12T03:56:51Z yuikov joined #lisp 2014-11-12T03:59:03Z TDog quit (Quit: ChatZilla 0.9.91 [Firefox 32.0.2/20140917194002]) 2014-11-12T03:59:37Z _leb quit (Quit: Computer has gone to sleep.) 2014-11-12T04:00:20Z t4nk178 joined #lisp 2014-11-12T04:00:39Z miql quit (Ping timeout: 245 seconds) 2014-11-12T04:00:41Z pjb: beach: you can use M-: (slime-current-package) RET to know the current package in a .lisp buffer with slime. 2014-11-12T04:00:47Z leb joined #lisp 2014-11-12T04:01:26Z yuikov quit (Ping timeout: 265 seconds) 2014-11-12T04:01:40Z beach: Sure, but that takes longer than M-< ... C-x C-x. 2014-11-12T04:04:10Z Longlius quit (Quit: Leaving) 2014-11-12T04:09:12Z effy joined #lisp 2014-11-12T04:09:49Z johann quit 2014-11-12T04:11:00Z pecg joined #lisp 2014-11-12T04:12:05Z yuikov joined #lisp 2014-11-12T04:16:22Z pecg quit (Quit: WeeChat 1.0.1) 2014-11-12T04:17:45Z pjb: beach: actually, slime displays the current package name in the mode line. You can see it unless erc inserts a long list of channels :-) Hence using a different emacs instance for programming and for ircing. 2014-11-12T04:19:00Z beach: Yeah, I see what you mean. It is almost always hidden for me, partly because I also use long file names. 2014-11-12T04:19:29Z beach: I don't use the same Emacs instance for IRC and programming. 2014-11-12T04:19:53Z beach: And I participate in a single IRC channel anyway. 2014-11-12T04:20:02Z kcj joined #lisp 2014-11-12T04:20:03Z kcj quit (Changing host) 2014-11-12T04:20:03Z kcj joined #lisp 2014-11-12T04:20:32Z beach: Given the number of newbies lately, that single channel already takes a lot of time. 2014-11-12T04:23:05Z miql joined #lisp 2014-11-12T04:24:01Z innertracks quit (Quit: innertracks) 2014-11-12T04:24:04Z bgs100 quit (Quit: bgs100) 2014-11-12T04:24:34Z innertracks joined #lisp 2014-11-12T04:24:47Z innertracks quit (Client Quit) 2014-11-12T04:25:20Z pjb: There are good laughts to have in #lisp: "<20:54:34> I thought that the only data types in CL were symbols and numbers." 2014-11-12T04:25:45Z beach: Yeah, there have been a few goodies lately. 2014-11-12T04:26:55Z tadni` joined #lisp 2014-11-12T04:27:49Z miql quit (Ping timeout: 250 seconds) 2014-11-12T04:27:57Z tadni quit (Ping timeout: 240 seconds) 2014-11-12T04:28:33Z innertracks joined #lisp 2014-11-12T04:33:29Z Zhivago: Ideally numbers would be symbols. :) 2014-11-12T04:33:34Z yuikov quit (Remote host closed the connection) 2014-11-12T04:33:44Z Zhivago: In which case, you'd want symbols and objects, which sounds pretty good. 2014-11-12T04:36:25Z yuikov joined #lisp 2014-11-12T04:41:24Z wheelsucker joined #lisp 2014-11-12T04:43:06Z shortCircuit__ joined #lisp 2014-11-12T04:43:43Z yangby joined #lisp 2014-11-12T04:44:13Z resttime quit (Read error: Connection reset by peer) 2014-11-12T04:44:34Z resttime joined #lisp 2014-11-12T04:47:23Z drewc: (defun .+ (&rest symbols) (if (not symbols) 0 (+ (parse-number:parse-number (symbol-name (first symbols))) (apply #'.+ (rest symbols))))) 2014-11-12T04:47:45Z drewc: (.+ '|5| '|3| '|3|) => 11 2014-11-12T04:50:18Z miql joined #lisp 2014-11-12T04:50:28Z yangby left #lisp 2014-11-12T04:55:07Z miql quit (Ping timeout: 272 seconds) 2014-11-12T04:56:09Z kcj quit (Read error: Connection reset by peer) 2014-11-12T04:56:53Z kcj joined #lisp 2014-11-12T04:58:28Z loke: pjb: numbers? 2014-11-12T04:58:51Z loke: pjb: What are these newfnagled numbers of which you speak? I see no reference to such things in the McCarthy paper 2014-11-12T04:59:42Z loke: Besides Alonso Church proved that numbers are not necessary 2014-11-12T05:07:06Z resttime quit (Quit: resttime) 2014-11-12T05:17:23Z JokesOnYou77_ quit (Ping timeout: 240 seconds) 2014-11-12T05:17:30Z miql joined #lisp 2014-11-12T05:22:23Z miql quit (Ping timeout: 255 seconds) 2014-11-12T05:30:07Z JokesOnYou77_ joined #lisp 2014-11-12T05:30:24Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-12T05:33:59Z theotherstupidgu quit (Quit: leaving) 2014-11-12T05:34:26Z axion: what's the best way to read an external file containing a lisp form into a variable? 2014-11-12T05:35:14Z beach: (defparameter *var* (with-open-file (stream "filename" :direction :input) (read stream))) 2014-11-12T05:35:21Z beach: ... something like that. 2014-11-12T05:36:14Z axion: thanks beach 2014-11-12T05:36:23Z beach: Anytime. 2014-11-12T05:37:23Z drewc: (with-open-file (s #P"/tmp/foo" :direction :input) (defparameter *foo* (read s))) <--- I did it, but then I see that beach did it first :) 2014-11-12T05:44:40Z miql joined #lisp 2014-11-12T05:49:03Z beach: So you say, so you say. 2014-11-12T05:49:17Z miql quit (Ping timeout: 240 seconds) 2014-11-12T05:49:39Z doh` quit (Remote host closed the connection) 2014-11-12T05:51:07Z gabriel_laddel quit (Ping timeout: 245 seconds) 2014-11-12T05:51:08Z yuikov quit (Read error: Connection reset by peer) 2014-11-12T05:52:01Z shortCircuit__ quit (Ping timeout: 255 seconds) 2014-11-12T05:53:44Z yuikov joined #lisp 2014-11-12T06:05:26Z pranavrc joined #lisp 2014-11-12T06:05:26Z pranavrc quit (Changing host) 2014-11-12T06:05:26Z pranavrc joined #lisp 2014-11-12T06:06:34Z shortCircuit__ joined #lisp 2014-11-12T06:11:52Z miql joined #lisp 2014-11-12T06:12:16Z ofosos joined #lisp 2014-11-12T06:12:22Z copec joined #lisp 2014-11-12T06:12:22Z copec quit (Excess Flood) 2014-11-12T06:12:48Z copec joined #lisp 2014-11-12T06:13:56Z chu joined #lisp 2014-11-12T06:13:57Z yuikov quit (Read error: Connection reset by peer) 2014-11-12T06:16:40Z miql quit (Ping timeout: 250 seconds) 2014-11-12T06:22:24Z doh` joined #lisp 2014-11-12T06:26:53Z tadni` quit (Ping timeout: 264 seconds) 2014-11-12T06:28:59Z pjb: beach: I use (defparameter *foo* (com.informatimago.common-lisp.cesarum.file:sexp-file-contents #P"~/foo.sexp" :if-does-not-exist 42)) 2014-11-12T06:29:33Z pjb: Not having defparameter be a toplevel form can be problematic. 2014-11-12T06:29:45Z pjb: And you'd want to handle the file does not exist error. 2014-11-12T06:31:22Z pjb: There's also an :external-format parameter. 2014-11-12T06:31:50Z beach: The defparameter in my code above is a top-level form. 2014-11-12T06:32:09Z pjb: Yes, I stopped at drewc's. 2014-11-12T06:32:16Z rme left #lisp 2014-11-12T06:32:24Z pjb: and I should have addressed axion, sorry. 2014-11-12T06:32:31Z axion: yep, i caught it, thanks :) 2014-11-12T06:35:05Z oleo quit (Quit: Verlassend) 2014-11-12T06:36:32Z shortCircuit__: hy 2014-11-12T06:37:04Z shortCircuit__: does anyone know bit manipulation, like & >> ? 2014-11-12T06:37:11Z beach: Yes. 2014-11-12T06:37:15Z shortCircuit__: how 0xFF & (color_value >> 0x10); or 0xFF & (color_value >> 0x20); gives red? 2014-11-12T06:37:27Z shortCircuit__: 0xFF is 255, I calculated 2014-11-12T06:37:29Z beach: clhs ash 2014-11-12T06:37:30Z pjb: Please, don't compare lisp bit manipulation to C. C is so poor at bit manipulation! 2014-11-12T06:37:31Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_ash.htm 2014-11-12T06:37:41Z psy_ quit (Remote host closed the connection) 2014-11-12T06:37:44Z alexey joined #lisp 2014-11-12T06:37:46Z pt1 joined #lisp 2014-11-12T06:37:47Z beach: clhs logand 2014-11-12T06:37:47Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_logand.htm 2014-11-12T06:37:49Z shortCircuit__: no no, I want to know the maths behind it 2014-11-12T06:38:07Z pjb: (ldb (byte 4 4) color-value) 2014-11-12T06:38:31Z pjb: Use ldb and dpb to work with bit fields, not with shift and logand. 2014-11-12T06:38:37Z shortCircuit__: ok 2014-11-12T06:38:41Z shortCircuit__: but the maths 2014-11-12T06:38:51Z chu: Read wikipepdia 2014-11-12T06:39:01Z miql joined #lisp 2014-11-12T06:39:04Z beach: shortCircuit__: A color is probably considered to be a 24-bit unsigned integer. 2014-11-12T06:39:15Z beach: shortCircuit__: In base 2. 2014-11-12T06:39:18Z shortCircuit__: ok 2014-11-12T06:39:26Z pjb: If you want to do arithmetic, then use (mod (truncate color-value 16) 16) 2014-11-12T06:40:05Z beach: shortCircuit__: So you need to extract the three individual 8-bit fields representing each color. 2014-11-12T06:41:08Z shortCircuit__: yes. I understand that. one is and shift 10., that gives red, and shift with 8 gives green 2014-11-12T06:41:13Z pjb: (defparameter *red* (byte 8 16) ) (defparameter *green* (byte 8 8)) (defparameter *blue* (byte 8 0)) (ldb *red* color) (dpb new-blue *blue* old-color) 2014-11-12T06:41:29Z beach: shortCircuit__: So what is it that you do not understand? 2014-11-12T06:41:39Z shortCircuit__: how does it work. 2014-11-12T06:41:47Z beach: *sigh* 2014-11-12T06:41:53Z shortCircuit__: and why 10 not 20 2014-11-12T06:41:57Z beach: shortCircuit__: It works quite well, thank you very much. 2014-11-12T06:42:02Z shortCircuit__: :D 2014-11-12T06:42:58Z mrSpec joined #lisp 2014-11-12T06:43:41Z pt1 quit (Remote host closed the connection) 2014-11-12T06:43:46Z miql quit (Ping timeout: 255 seconds) 2014-11-12T06:43:46Z pjb: shortCircuit__: do you understand how you can define a bijection e: [0,255]x[0,255] -> [0,65535] e(r,g)=r*256+g 2014-11-12T06:44:08Z pjb: e^1(c) = (r div 256,r mod 256) 2014-11-12T06:44:35Z beach: shortCircuit__: We need to know how the color is represented. Can you tell us? 2014-11-12T06:44:50Z shortCircuit__: the last line is difficult e!1. the color is in hex 2014-11-12T06:44:57Z pjb: similarly, you can define such a bijection between [0,255]x[0,255]x[0,255] and [0,16777215]. 2014-11-12T06:45:07Z beach gives up. 2014-11-12T06:45:11Z defaultxr quit (Quit: gnight) 2014-11-12T06:45:27Z pjb: e^1 is e⁻¹ 2014-11-12T06:45:35Z pjb: this is the inverse function of e. 2014-11-12T06:45:40Z shortCircuit__: no no the this (r div 256,r mod 256) 2014-11-12T06:45:55Z pjb: a div b is the integer division of a by b. 2014-11-12T06:46:00Z shortCircuit__: ok 2014-11-12T06:46:08Z shortCircuit__: r%256 thats the remainder 2014-11-12T06:46:08Z pjb: a mod b is the modulo of the division of a by b. 2014-11-12T06:46:14Z beach: Have fun guys. 2014-11-12T06:46:17Z beach left #lisp 2014-11-12T06:46:23Z shortCircuit__ is having fun 2014-11-12T06:47:44Z axion: is there a better way to the full path of a sub-directory relative to the current package's directory than this?: (asdf/system:system-relative-pathname (intern (string-downcase (package-name *package*))) "subdir") 2014-11-12T06:47:58Z pjb: Now of course, since the processors often have instructions to extract or modify bit fields in registers, we can use ldb or dpb instead of integer divisions and modulo. 2014-11-12T06:48:16Z shortCircuit__: ok 2014-11-12T06:48:31Z pjb: axion: you should use system instead of package. Who says there's a direct mapping from package name to system (there is not!)? 2014-11-12T06:48:45Z Vicfred quit (Quit: Leaving) 2014-11-12T06:49:24Z axion: there will be in this case, but to make it portable, can you give me a suggestion? 2014-11-12T06:50:33Z pjb: It's as portable as asdf. What more do you want? 2014-11-12T06:53:46Z axion: i'm not sure how to "use system instead of package" 2014-11-12T06:54:40Z Zhivago: The term 'system' fits what you're trying to say better than 'package'. 2014-11-12T06:54:50Z Zhivago: 'package' has a distinct meaning in CL. 2014-11-12T06:54:53Z pjb: axion: (quicklisp-client:system-list) 2014-11-12T06:55:45Z pjb: axion: also be very careful, because a package can be built by several different systems (loaded or not loaded). 2014-11-12T06:56:08Z axion: what i mean to say, is how can i get the name of the system that calls this required system? 2014-11-12T06:56:18Z pjb: axion: for example, you could have two systems: :sys1 and :sys1-test that load definitions in the same package named "SYS". 2014-11-12T06:57:17Z axion: this function is part of a system that i use in all other systems 2014-11-12T07:01:22Z pjb: axion: (com.informatimago.tools.manifest:system-depends-on/recursive (ql-dist:name (first (quicklisp-client:system-list)))) 2014-11-12T07:01:57Z pjb: Oops, sorry, it's the reverse your want. 2014-11-12T07:04:00Z hiroakip joined #lisp 2014-11-12T07:06:13Z miql joined #lisp 2014-11-12T07:06:42Z Vivitron: axion: I use asdf:find-system on the package name; check if one exists; if it doesn't give up and print a failure message 2014-11-12T07:07:06Z pjb: (let ((called-system (first (quicklisp-client:system-list)))) (remove-if-not (lambda (sys) (handler-case (let ((sysname (ql-dist:name sys))) (member (ql-dist:name called-system) (com.informatimago.tools.manifest:system-depends-on/recursive sysname) :test (function string=))) (error () nil))) (quicklisp-client:system-list))) 2014-11-12T07:07:49Z pjb: You may want to use com.informatimago.tools.manifest:system-depends-on instead of com.informatimago.tools.manifest:system-depends-on/recursive perhaps. 2014-11-12T07:10:10Z Karl_Dscc joined #lisp 2014-11-12T07:10:11Z ndrei joined #lisp 2014-11-12T07:11:08Z innertracks quit (Quit: innertracks) 2014-11-12T07:11:23Z miql quit (Ping timeout: 265 seconds) 2014-11-12T07:15:09Z innertracks joined #lisp 2014-11-12T07:15:45Z innertracks quit (Client Quit) 2014-11-12T07:17:50Z zRecursive quit (Remote host closed the connection) 2014-11-12T07:18:15Z doh` quit (Remote host closed the connection) 2014-11-12T07:21:57Z jtza8 joined #lisp 2014-11-12T07:22:13Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-12T07:23:56Z Karl_Dscc quit (Remote host closed the connection) 2014-11-12T07:27:23Z stepnem joined #lisp 2014-11-12T07:31:20Z leb quit (Quit: Computer has gone to sleep.) 2014-11-12T07:32:57Z Aiwass joined #lisp 2014-11-12T07:33:12Z dxtr quit (Ping timeout: 265 seconds) 2014-11-12T07:33:19Z mishoo_ joined #lisp 2014-11-12T07:33:23Z miql joined #lisp 2014-11-12T07:35:29Z kushal joined #lisp 2014-11-12T07:35:43Z ofosos quit (Ping timeout: 244 seconds) 2014-11-12T07:36:10Z dxtr joined #lisp 2014-11-12T07:36:25Z hiroakip quit (Ping timeout: 255 seconds) 2014-11-12T07:37:47Z miql quit (Ping timeout: 244 seconds) 2014-11-12T07:38:56Z fragamus joined #lisp 2014-11-12T07:40:49Z Aiwass quit (Quit: ERC (IRC client for Emacs 25.0.50.1)) 2014-11-12T07:41:07Z chebert joined #lisp 2014-11-12T07:41:30Z chebert: is this common lisp? 2014-11-12T07:42:01Z Bike: gestures at topic 2014-11-12T07:42:02Z pjb: YEs! 2014-11-12T07:42:06Z ktereyp quit (Remote host closed the connection) 2014-11-12T07:42:19Z pjb: Bike: admit it, we have a winner here! 2014-11-12T07:42:31Z chebert: oh sweet. first time using emacs as an irc client haha 2014-11-12T07:42:49Z Bike: i'll enter them into the washing machine raffle 2014-11-12T07:43:11Z chebert: can I ask all of my thousand lisp questions? 2014-11-12T07:43:17Z pjb: Yes. 2014-11-12T07:44:59Z chebert: so firstly, I'm looking for some functional data structures. records/maps/vectors 2014-11-12T07:45:59Z chebert: any library suggestions? or is that not really how CL is used? 2014-11-12T07:46:17Z Bike: maybe FSet 2014-11-12T07:46:37Z Bike: http://common-lisp.net/project/fset/Site/index.html 2014-11-12T07:46:43Z Beetny joined #lisp 2014-11-12T07:46:51Z jtza8 quit (Ping timeout: 258 seconds) 2014-11-12T07:47:36Z jtza8 joined #lisp 2014-11-12T07:47:56Z pjb: chebert: you may search on http://www.cliki.net/ 2014-11-12T07:48:28Z H4ns: chebert: you can ask questions. with respect to data types, some people choose to use libraries like fset, but many just use what cl provides 2014-11-12T07:48:56Z chebert: actually I have. I've heard of FSET, but there's a lot of libs and its hard to tell what's actually being used, and what's dead or unfinished 2014-11-12T07:49:51Z pjb: Perhaps you could start a curated library of libraries, gathering only libraries that are finished and used? 2014-11-12T07:49:53Z MrWoohoo joined #lisp 2014-11-12T07:50:18Z pjb: You could ask Xach how to make a new quicklisp distribution for those curated libraries. 2014-11-12T07:51:13Z edgar-rft joined #lisp 2014-11-12T07:51:36Z easye joined #lisp 2014-11-12T07:51:45Z H4ns: chebert: yeah, that is kind of a problem. in particular with data structure libraries, there are good chances that something works even though it has not changed in a long time, as cl did not change in a long time. 2014-11-12T07:52:46Z chebert: yup. I figured asking on irc was the easiest way to learn 2014-11-12T07:52:47Z matko quit (Remote host closed the connection) 2014-11-12T07:52:58Z chebert: :) 2014-11-12T07:53:18Z tesuji joined #lisp 2014-11-12T07:53:26Z H4ns: you'll get better results if you follow a book and only ask for clarification in irc :) 2014-11-12T07:55:00Z chebert: what books go over libraries? 2014-11-12T07:55:11Z pjb: None :-) 2014-11-12T07:55:21Z H4ns: none. asking about recommended libraries is fine, of course, sorry. 2014-11-12T07:55:57Z MoALTz joined #lisp 2014-11-12T07:56:41Z alexey quit (Remote host closed the connection) 2014-11-12T07:56:59Z pjb: chebert: you may also have a look at http://quickdocs.org But there, the filter is whether the site programmers was about to scan the docstrings of the libraries or not. For some reason, he had difficulties with my libraries… 2014-11-12T07:57:12Z corni joined #lisp 2014-11-12T07:57:50Z chebert: oh that's new to me thanks 2014-11-12T07:57:58Z pjb: What's nice looking is often not that useful. 2014-11-12T07:59:16Z pjb: I guess I will have to patch it myself… 2014-11-12T08:00:35Z miql joined #lisp 2014-11-12T08:03:39Z jtza8 quit (Ping timeout: 265 seconds) 2014-11-12T08:04:16Z frkout_ quit (Read error: Connection reset by peer) 2014-11-12T08:04:24Z frkout joined #lisp 2014-11-12T08:05:15Z miql quit (Ping timeout: 258 seconds) 2014-11-12T08:07:31Z corni quit (Ping timeout: 265 seconds) 2014-11-12T08:08:42Z chebert: I think fset is probably what I'm looking for. at least part of it 2014-11-12T08:09:27Z rtra joined #lisp 2014-11-12T08:09:36Z chebert: actually that's really my only question right now. thanks again! 2014-11-12T08:09:48Z yuikov joined #lisp 2014-11-12T08:12:54Z PuercoPop: chebert: also check https://github.com/fare/lisp-interface-library 2014-11-12T08:13:21Z Karl_Dscc joined #lisp 2014-11-12T08:17:12Z psy_ joined #lisp 2014-11-12T08:21:48Z chebert: PurecoPop: thanks I'm reading about it now 2014-11-12T08:27:29Z cmatei quit (Ping timeout: 264 seconds) 2014-11-12T08:27:47Z miql joined #lisp 2014-11-12T08:27:58Z salv0 quit (Ping timeout: 250 seconds) 2014-11-12T08:28:40Z Cymew joined #lisp 2014-11-12T08:29:58Z atgreen quit (Remote host closed the connection) 2014-11-12T08:30:52Z zickzackv joined #lisp 2014-11-12T08:32:20Z miql quit (Ping timeout: 244 seconds) 2014-11-12T08:32:36Z cmatei joined #lisp 2014-11-12T08:36:51Z yuikov quit (Remote host closed the connection) 2014-11-12T08:37:25Z yuikov joined #lisp 2014-11-12T08:37:56Z yuikov quit (Remote host closed the connection) 2014-11-12T08:38:11Z yuikov joined #lisp 2014-11-12T08:38:20Z lavokad joined #lisp 2014-11-12T08:38:25Z yuikov quit (Remote host closed the connection) 2014-11-12T08:39:41Z jusss joined #lisp 2014-11-12T08:39:47Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-12T08:39:52Z yuikov joined #lisp 2014-11-12T08:44:12Z arenz joined #lisp 2014-11-12T08:45:17Z chebert quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-12T08:45:44Z clog quit (Ping timeout: 250 seconds) 2014-11-12T08:46:21Z salv0 joined #lisp 2014-11-12T08:46:42Z ickyfetang joined #lisp 2014-11-12T08:47:33Z clog joined #lisp 2014-11-12T08:51:47Z alexey joined #lisp 2014-11-12T08:52:16Z redeemed joined #lisp 2014-11-12T08:54:26Z yuikov quit (Remote host closed the connection) 2014-11-12T08:54:57Z miql joined #lisp 2014-11-12T08:55:48Z yuikov joined #lisp 2014-11-12T09:00:12Z psy_ quit (Ping timeout: 265 seconds) 2014-11-12T09:00:13Z miql quit (Ping timeout: 272 seconds) 2014-11-12T09:01:39Z rvchangue quit (Ping timeout: 265 seconds) 2014-11-12T09:01:41Z __prefect quit (Ping timeout: 264 seconds) 2014-11-12T09:01:43Z cy quit (Quit: :q!) 2014-11-12T09:02:00Z lavokad quit (Remote host closed the connection) 2014-11-12T09:03:16Z _5kg quit (Ping timeout: 255 seconds) 2014-11-12T09:03:20Z zeitue quit (Ping timeout: 255 seconds) 2014-11-12T09:06:54Z clog quit (Ping timeout: 245 seconds) 2014-11-12T09:08:34Z LoicLisp joined #lisp 2014-11-12T09:09:30Z fridim_ joined #lisp 2014-11-12T09:10:51Z Shinmera joined #lisp 2014-11-12T09:14:10Z clog joined #lisp 2014-11-12T09:15:33Z yuikov quit (Remote host closed the connection) 2014-11-12T09:15:44Z zeitue joined #lisp 2014-11-12T09:17:19Z _5kg joined #lisp 2014-11-12T09:18:28Z jumblerg joined #lisp 2014-11-12T09:18:34Z clog quit (Ping timeout: 245 seconds) 2014-11-12T09:19:36Z nha joined #lisp 2014-11-12T09:22:11Z miql joined #lisp 2014-11-12T09:23:07Z mguzmann joined #lisp 2014-11-12T09:26:49Z miql quit (Ping timeout: 250 seconds) 2014-11-12T09:32:10Z chu joined #lisp 2014-11-12T09:33:12Z nha quit (Ping timeout: 245 seconds) 2014-11-12T09:33:16Z Niac quit (Remote host closed the connection) 2014-11-12T09:34:15Z yuikov joined #lisp 2014-11-12T09:36:08Z mvilleneuve joined #lisp 2014-11-12T09:36:37Z wooden quit (Ping timeout: 244 seconds) 2014-11-12T09:38:09Z lavokad joined #lisp 2014-11-12T09:38:50Z gingerale joined #lisp 2014-11-12T09:42:39Z stassats joined #lisp 2014-11-12T09:42:47Z frkout quit (Remote host closed the connection) 2014-11-12T09:43:13Z frkout joined #lisp 2014-11-12T09:45:10Z yuikov quit (Remote host closed the connection) 2014-11-12T09:45:55Z Karl_Dscc quit (Remote host closed the connection) 2014-11-12T09:49:11Z rvchangue joined #lisp 2014-11-12T09:49:57Z jusss quit (Ping timeout: 240 seconds) 2014-11-12T09:50:37Z c74d quit (Remote host closed the connection) 2014-11-12T09:54:26Z c74d joined #lisp 2014-11-12T10:00:24Z attila_lendvai joined #lisp 2014-11-12T10:00:25Z attila_lendvai quit (Changing host) 2014-11-12T10:00:25Z attila_lendvai joined #lisp 2014-11-12T10:01:40Z Karl_Dscc joined #lisp 2014-11-12T10:02:22Z freehck quit (Read error: Connection reset by peer) 2014-11-12T10:03:38Z yuikov joined #lisp 2014-11-12T10:05:09Z Harag joined #lisp 2014-11-12T10:05:48Z lavokad: hi, C-c C-l terminates without errors, but then I can't call anything from that loaded file. If I do C-c C-k, then it works 2014-11-12T10:05:54Z lavokad: why C-c C-l doesnt? 2014-11-12T10:06:15Z stassats: because the code is poorly written 2014-11-12T10:06:20Z pjb: Yes. 2014-11-12T10:06:40Z stassats: or maybe because the code is invisible, at least i can't see it 2014-11-12T10:06:43Z pjb: There must be some eval-when that miss a :load-toplevel or :execute situation. 2014-11-12T10:07:03Z pjb: misses. 2014-11-12T10:09:30Z lavokad: stassats: it is one simple sum of numbers function 2014-11-12T10:09:43Z lavokad: 2014-11-12T10:09:43Z lavokad: (defun f () 2014-11-12T10:09:43Z lavokad: (+ 2 100 45)) 2014-11-12T10:09:52Z Harag1 joined #lisp 2014-11-12T10:10:21Z gravicappa joined #lisp 2014-11-12T10:12:18Z frkout_ joined #lisp 2014-11-12T10:14:37Z kcj quit (Read error: Connection reset by peer) 2014-11-12T10:15:35Z frkout quit (Ping timeout: 258 seconds) 2014-11-12T10:16:37Z lavokad: weird.. 2014-11-12T10:16:45Z miql joined #lisp 2014-11-12T10:17:54Z urandom__ joined #lisp 2014-11-12T10:20:28Z freehck joined #lisp 2014-11-12T10:20:35Z freehck: good day 2014-11-12T10:21:07Z miql quit (Ping timeout: 245 seconds) 2014-11-12T10:25:07Z Harag1 quit (Quit: Harag1) 2014-11-12T10:26:54Z cyphase quit (Ping timeout: 245 seconds) 2014-11-12T10:29:45Z axion: can someone help me make this work if the inner loop's list is empty - i need to run some-function-1 on x still: (loop for x in '(1 2 3) for y in '(4 5 6) do (some-function-1 x) do (some-function-2 y)) 2014-11-12T10:30:04Z pjb: lavokad: type C-h k C-c C-l 2014-11-12T10:30:26Z pjb: The second do is useless. 2014-11-12T10:30:29Z t4nk178 quit (Quit: Page closed) 2014-11-12T10:30:42Z pjb: axion: there's no "inner" in this sexp 2014-11-12T10:30:59Z t4nk786 joined #lisp 2014-11-12T10:31:06Z pjb: axion: ie. there's a single loop. 2014-11-12T10:31:33Z t4nk786 quit (Client Quit) 2014-11-12T10:31:43Z axion: ok, so what if y is empty, the loop stops? 2014-11-12T10:31:48Z pjb: Yes. 2014-11-12T10:31:58Z stassats: axion: when either of the lists is empty 2014-11-12T10:32:15Z stassats: (loop for x in '(1 2 3) for y = (pop list) do (some-function-1 x) do (some-function-2 y)) 2014-11-12T10:32:17Z axion: is there a way to fix this, without 2 loops? i need to basically ensure that the function calls are interleaved 2014-11-12T10:32:28Z pjb: axion: we don't know what you want yet. 2014-11-12T10:32:57Z pjb: axion: do you want a single loop walking both lists at the same time, or do you want embedded loops walking the second list for each element of the first list, or something else? 2014-11-12T10:33:01Z stassats: (loop for x in '(1 2 3) for list-full = list for y = (pop list) do (some-function-1 x) when list-full do (some-function-2 y)) 2014-11-12T10:33:06Z t4nk763 joined #lisp 2014-11-12T10:33:21Z axion: single...i need to make sure some-function-2 is called after some-function-1 if it is called at all 2014-11-12T10:33:33Z pjb: It's always the same problem: without specifications, any form will do what it does, without any bug. 2014-11-12T10:34:00Z pjb: And what if the second list is empty? 2014-11-12T10:34:12Z axion: then it should just call some-function-1 for each of x 2014-11-12T10:34:42Z pjb: (loop for x in xs do (some-function-1 x) (when ys (some-function-2 (pop ys)))) 2014-11-12T10:35:30Z pjb: It would probably easier, if you told us what you want in lisp instead of English. 2014-11-12T10:35:38Z pjb: +be 2014-11-12T10:35:46Z pjb: Of course, then you'd already have it :-) 2014-11-12T10:35:59Z axion: i forgot to mention...oops 2014-11-12T10:36:11Z pjb: I guessed so. 2014-11-12T10:36:12Z axion: some-function-2 is called before some-function-1 2014-11-12T10:36:21Z axion: and if no y list, then only some-function-1 2014-11-12T10:36:24Z pjb: (loop for x in xs do (when ys (some-function-2 (pop ys))) (some-function-1 x)) 2014-11-12T10:36:27Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-12T10:36:38Z pjb: Try to clear up your mind. 2014-11-12T10:36:42Z stassats: it sounded easy on the first attempt 2014-11-12T10:37:00Z pjb: axion: Just write in lisp what you mean. 2014-11-12T10:37:31Z axion: yes i know...learn lisp before you ask such basic questions. trying to get my feet wet again. sorry 2014-11-12T10:37:32Z Nizumzen joined #lisp 2014-11-12T10:37:34Z stassats: what is that even supposed to mean? axion is asking a question on how to write it 2014-11-12T10:37:40Z stassats: how can he write it without knowing? 2014-11-12T10:37:45Z pjb: :-) 2014-11-12T10:38:05Z stassats: axion: that was an alright question, don't mind pjb 2014-11-12T10:38:43Z axion: let me see if this is what i need. thank you guys 2014-11-12T10:38:44Z kushal quit (Ping timeout: 265 seconds) 2014-11-12T10:38:45Z pjb: stassats: it's supposed to mean that it's easier to signify the meaning of a lisp form by giving the lisp form, rather than trying to translate it into English: English is not an algorithmic language. 2014-11-12T10:39:05Z munge quit (Remote host closed the connection) 2014-11-12T10:39:21Z munge joined #lisp 2014-11-12T10:40:15Z pjb: Often people mess around trying to translate to a programming language, when it's just easier to express oneself directly in the programming language. 2014-11-12T10:41:05Z stassats: unless you don't know it 2014-11-12T10:41:24Z axion: i do, but i am very rusty. i thought we all shared a second common language here to help with that 2014-11-12T10:42:28Z pjb: You can also use periphrase: write it with do, dolist, tagbody/go, and then see us how to write it with loop. 2014-11-12T10:42:40Z axion: regardless, POP'ing is a nice solution to the problem and fits my use-case. thank you pjb 2014-11-12T10:43:01Z stassats: right, thank pjb 2014-11-12T10:43:43Z miql joined #lisp 2014-11-12T10:44:29Z echo-area quit (Remote host closed the connection) 2014-11-12T10:47:51Z _5kg quit (Ping timeout: 264 seconds) 2014-11-12T10:48:12Z miql quit (Ping timeout: 245 seconds) 2014-11-12T10:49:57Z yuikov quit (Remote host closed the connection) 2014-11-12T10:51:41Z alpha- quit (Ping timeout: 272 seconds) 2014-11-12T10:52:01Z lavokad quit (Remote host closed the connection) 2014-11-12T10:52:44Z quazimodo joined #lisp 2014-11-12T10:55:00Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-12T10:56:29Z stassats quit (Ping timeout: 244 seconds) 2014-11-12T10:57:04Z resttime joined #lisp 2014-11-12T11:04:13Z przl joined #lisp 2014-11-12T11:05:30Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-12T11:09:21Z pppp2 joined #lisp 2014-11-12T11:10:54Z miql joined #lisp 2014-11-12T11:11:27Z pppp2 quit (Client Quit) 2014-11-12T11:11:41Z pppp2 joined #lisp 2014-11-12T11:12:03Z zacharias joined #lisp 2014-11-12T11:16:03Z miql quit (Ping timeout: 264 seconds) 2014-11-12T11:16:59Z lavokad joined #lisp 2014-11-12T11:17:02Z lavokad: parse-integer takes an optional argument junk-allowed 2014-11-12T11:17:32Z lavokad: but it requires a boolean value after it 2014-11-12T11:18:01Z clog joined #lisp 2014-11-12T11:18:11Z lavokad: why is so? why isnt suficient with the keyword itself? 2014-11-12T11:19:32Z pjb: lavokad: because this is how keywords work. (parse-integer "42" :junk-allowed nil) (parse-integer "42" :junk-allowed allowed?) are also possible. 2014-11-12T11:20:09Z pjb: lavokad: there are also &optional arguments, but their order is fixed. 2014-11-12T11:20:14Z chu quit (Remote host closed the connection) 2014-11-12T11:20:44Z jumblerg joined #lisp 2014-11-12T11:20:51Z pjb: lavokad: while there are two functions in CL that have both &optional and &key arguments, this is bad practice, because it's easy to forget the &optional argument, and pass a keyword that is eaten as optional. 2014-11-12T11:21:23Z pjb: lavokad: notice that with &rest, you can write such a flag keyword argument for your own functions. 2014-11-12T11:21:37Z Harag1 joined #lisp 2014-11-12T11:21:40Z pjb: (defun f (&rest options) (let ((junk-allowed (member :junk-allowed options))) …)) 2014-11-12T11:23:50Z H4ns: lavokad: that is how keyword arguments in common lisp work 2014-11-12T11:23:52Z przl quit (Ping timeout: 240 seconds) 2014-11-12T11:23:55Z theos quit (Disconnected by services) 2014-11-12T11:24:17Z H4ns: lavokad: they come in key/value pairs, always. 2014-11-12T11:24:21Z theos joined #lisp 2014-11-12T11:25:56Z dmiles_afk quit (Quit: Read error: 110 (Connection timed out)) 2014-11-12T11:28:56Z munksgaard joined #lisp 2014-11-12T11:31:05Z _5kg joined #lisp 2014-11-12T11:33:12Z Shinmera joined #lisp 2014-11-12T11:36:35Z hardenedapple joined #lisp 2014-11-12T11:38:00Z ioanna joined #lisp 2014-11-12T11:38:02Z miql joined #lisp 2014-11-12T11:42:47Z miql quit (Ping timeout: 245 seconds) 2014-11-12T11:43:22Z attila_lendvai quit (Quit: Leaving.) 2014-11-12T11:44:58Z pavelpenev joined #lisp 2014-11-12T11:44:58Z DeadTrickster quit (Read error: Connection reset by peer) 2014-11-12T11:52:06Z Beetny quit (Ping timeout: 256 seconds) 2014-11-12T11:53:44Z atgreen joined #lisp 2014-11-12T11:54:19Z chu joined #lisp 2014-11-12T11:56:52Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-12T12:00:16Z pjb` joined #lisp 2014-11-12T12:01:35Z pjb is now known as Guest34710 2014-11-12T12:01:36Z Cromulent joined #lisp 2014-11-12T12:01:41Z Cromulent quit (Client Quit) 2014-11-12T12:01:51Z pjb` is now known as pjb 2014-11-12T12:02:15Z Nizumzen quit (Ping timeout: 264 seconds) 2014-11-12T12:02:18Z Guest34710 quit (Ping timeout: 256 seconds) 2014-11-12T12:03:20Z zickzackv quit (Ping timeout: 250 seconds) 2014-11-12T12:04:27Z zickzackv joined #lisp 2014-11-12T12:05:17Z miql joined #lisp 2014-11-12T12:10:04Z miql quit (Ping timeout: 244 seconds) 2014-11-12T12:12:00Z Harag1 quit (Ping timeout: 250 seconds) 2014-11-12T12:13:23Z Harag quit (Ping timeout: 272 seconds) 2014-11-12T12:17:25Z ivan4th joined #lisp 2014-11-12T12:18:30Z alpha- joined #lisp 2014-11-12T12:19:11Z Harag joined #lisp 2014-11-12T12:19:32Z MoALTz quit (Quit: Leaving) 2014-11-12T12:23:33Z test1600 joined #lisp 2014-11-12T12:24:43Z vaporatorius joined #lisp 2014-11-12T12:26:32Z frkout_ quit (Remote host closed the connection) 2014-11-12T12:26:59Z frkout joined #lisp 2014-11-12T12:27:18Z tadni joined #lisp 2014-11-12T12:29:15Z arenz quit (Ping timeout: 264 seconds) 2014-11-12T12:31:02Z kanru` quit (Ping timeout: 244 seconds) 2014-11-12T12:32:25Z miql joined #lisp 2014-11-12T12:33:16Z jusss joined #lisp 2014-11-12T12:37:27Z miql quit (Ping timeout: 272 seconds) 2014-11-12T12:38:24Z Nizumzen joined #lisp 2014-11-12T12:43:42Z eudoxia joined #lisp 2014-11-12T12:45:09Z psy_ joined #lisp 2014-11-12T12:47:34Z MoALTz joined #lisp 2014-11-12T12:48:37Z pppp2 quit (Read error: Connection reset by peer) 2014-11-12T12:50:02Z ickyfetang quit 2014-11-12T12:55:11Z chu quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-12T12:56:55Z alexey quit (Remote host closed the connection) 2014-11-12T12:57:42Z kanru` joined #lisp 2014-11-12T12:58:20Z Harag quit (Remote host closed the connection) 2014-11-12T12:58:49Z alexey joined #lisp 2014-11-12T12:59:35Z miql joined #lisp 2014-11-12T12:59:54Z Harag joined #lisp 2014-11-12T13:00:49Z harish joined #lisp 2014-11-12T13:01:00Z thawes joined #lisp 2014-11-12T13:01:42Z BitPuffin joined #lisp 2014-11-12T13:02:50Z jusss quit (Remote host closed the connection) 2014-11-12T13:03:14Z apathor left #lisp 2014-11-12T13:03:31Z jusss joined #lisp 2014-11-12T13:04:02Z miql quit (Ping timeout: 245 seconds) 2014-11-12T13:06:53Z EvW joined #lisp 2014-11-12T13:08:24Z pavelpenev quit (Ping timeout: 256 seconds) 2014-11-12T13:09:51Z jumblerg joined #lisp 2014-11-12T13:11:17Z ndrei quit (Ping timeout: 250 seconds) 2014-11-12T13:11:48Z zickzackv quit (Ping timeout: 250 seconds) 2014-11-12T13:12:36Z zickzackv joined #lisp 2014-11-12T13:15:23Z joneshf-laptop quit (Ping timeout: 240 seconds) 2014-11-12T13:15:59Z joneshf quit (Ping timeout: 244 seconds) 2014-11-12T13:18:07Z Harag quit (Quit: Harag) 2014-11-12T13:18:17Z yuikov joined #lisp 2014-11-12T13:26:48Z miql joined #lisp 2014-11-12T13:30:12Z Harag joined #lisp 2014-11-12T13:30:48Z wheelsucker quit (Ping timeout: 265 seconds) 2014-11-12T13:31:22Z thawes quit (Remote host closed the connection) 2014-11-12T13:31:53Z pranavrc quit (Remote host closed the connection) 2014-11-12T13:31:55Z miql quit (Ping timeout: 272 seconds) 2014-11-12T13:31:56Z thawes joined #lisp 2014-11-12T13:33:34Z ioanna left #lisp 2014-11-12T13:36:29Z psy_ quit (Ping timeout: 264 seconds) 2014-11-12T13:37:05Z bb010g quit (Quit: Connection closed for inactivity) 2014-11-12T13:39:51Z Nizumzen quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-11-12T13:41:00Z stassats joined #lisp 2014-11-12T13:41:46Z yuikov quit (Remote host closed the connection) 2014-11-12T13:42:09Z wooden joined #lisp 2014-11-12T13:44:05Z Shinmera quit (Remote host closed the connection) 2014-11-12T13:44:38Z Shinmera joined #lisp 2014-11-12T13:46:45Z CrazyWoods joined #lisp 2014-11-12T13:51:15Z c4h joined #lisp 2014-11-12T13:54:02Z miql joined #lisp 2014-11-12T13:55:15Z ejbs joined #lisp 2014-11-12T13:56:51Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-12T13:57:27Z rtra quit (Ping timeout: 265 seconds) 2014-11-12T13:57:48Z lavokad quit (Remote host closed the connection) 2014-11-12T13:58:54Z miql quit (Ping timeout: 265 seconds) 2014-11-12T14:03:24Z zeitue quit (Quit: Leaving) 2014-11-12T14:06:11Z ndrei joined #lisp 2014-11-12T14:12:08Z yuikov joined #lisp 2014-11-12T14:16:10Z eudoxia: drmeister: are you going to switch clasp repos 2014-11-12T14:16:21Z eudoxia: you'll lose all your github stars, ie important social proof 2014-11-12T14:16:27Z yangby joined #lisp 2014-11-12T14:16:52Z yuikov quit (Ping timeout: 240 seconds) 2014-11-12T14:16:58Z yangby left #lisp 2014-11-12T14:17:08Z Harag1 joined #lisp 2014-11-12T14:17:31Z Harag quit (Ping timeout: 272 seconds) 2014-11-12T14:19:10Z kanru` quit (Remote host closed the connection) 2014-11-12T14:19:32Z zeroish quit (Ping timeout: 244 seconds) 2014-11-12T14:19:56Z kanru` joined #lisp 2014-11-12T14:20:33Z drmeister: eudoxia: I'm cleaning out old stuff in the repo that is taking a lot of space. 2014-11-12T14:20:58Z drmeister: Don't use clasp on github for a couple of hours. 2014-11-12T14:21:08Z drmeister: I didn't think anyone would notice. 2014-11-12T14:21:08Z eudoxia: if the old repo has, say, build output or something, you can fix that 2014-11-12T14:21:09Z miql joined #lisp 2014-11-12T14:21:24Z eudoxia: by forcefully pushing the new, clean repo to the drmeister/clasp repository 2014-11-12T14:21:35Z eudoxia: it overwrites the content and keep the repo, along with its issues, starts, forks, etc. 2014-11-12T14:21:39Z drmeister: Yes - that's what I'm in the middle of doing. 2014-11-12T14:21:56Z eudoxia: hm ok 2014-11-12T14:22:04Z drmeister: I've cleaned out old stuff and I'm trying to figure out when I locally clone the cleaned up repo I'm only getting one branch. 2014-11-12T14:25:58Z miql quit (Ping timeout: 265 seconds) 2014-11-12T14:29:22Z oleo joined #lisp 2014-11-12T14:30:17Z stassats: who cares about github stars 2014-11-12T14:30:59Z Shinmera joined #lisp 2014-11-12T14:35:30Z eudoxia: "oh, this project has no stars, probably nobody uses it" -- some guy, probably 2014-11-12T14:35:32Z madmalik quit (Quit: Connection closed for inactivity) 2014-11-12T14:35:49Z stassats: who cares about this guy 2014-11-12T14:36:08Z shortCircuit__ quit (Remote host closed the connection) 2014-11-12T14:36:15Z eudoxia: caring is nice <3 2014-11-12T14:36:38Z Shinmera: "oh no my stuff has no stars so it surely sucks" -- me 2014-11-12T14:36:48Z alpha-: pretty much 2014-11-12T14:36:50Z alpha-: ;) 2014-11-12T14:37:09Z stassats: and no stripes either 2014-11-12T14:37:18Z drmeister: No stars on thars 2014-11-12T14:37:21Z Shinmera: Low ranking software. 2014-11-12T14:37:35Z Grue`: you can star your own repo 2014-11-12T14:37:46Z Grue`: so no reason to have 0 stars really 2014-11-12T14:37:48Z eudoxia: that's the saddest thing in the world, probably 2014-11-12T14:38:00Z drmeister: eudoxia: I'm just feeling things out. I haven't done anything destructive yet. 2014-11-12T14:38:01Z Shinmera: There's plenty of sadder things, but it's up there. 2014-11-12T14:38:19Z eudoxia: drmeister: ok 2014-11-12T14:38:32Z splittist: exclusive, artisanal software, not that popular dreck the sheeple fall for... 2014-11-12T14:38:53Z dlowe: Clearly, only people of low status would care about the expressed opinions or respect from others. 2014-11-12T14:39:09Z dlowe: We must make sure these serfs don't infect our beloved ivory tower. 2014-11-12T14:39:25Z drmeister: Right now I have a cleaned up clasp repo and the original that I renamed. 2014-11-12T14:39:29Z Shinmera: I wish I didn't care, tbh 2014-11-12T14:39:51Z dlowe: People who don't care are termed "sociopaths" 2014-11-12T14:39:55Z fe[nl]ix: dlowe: thou speaketh well, sire 2014-11-12T14:39:56Z dlowe: so don't be too hard on yourself. 2014-11-12T14:40:06Z dlowe: fe[nl]ix: verily. 2014-11-12T14:40:40Z Shinmera: dlowe: Idk, in my case I find that it just puts additional stress on me without actually helping in any case whatsoever, so not caring would be beneficial. 2014-11-12T14:40:44Z Grue`: starring your own repo is useful when you have a bunch of random forks and would rather have your own repos higher in "Popular repositories" section of your profile 2014-11-12T14:41:12Z drmeister: Now I realize that all the issues are with the original. I'll check out the new one and then later push everything into the original and rename it back 2014-11-12T14:41:18Z eudoxia: Shinmera: post radiance on HN, rake in the stars 2014-11-12T14:41:24Z Shinmera: eudoxia: no 2014-11-12T14:41:33Z eudoxia: Shinmera: parasol? 2014-11-12T14:41:44Z Shinmera: eudoxia: in a few years maybe, but probably even then no 2014-11-12T14:42:00Z Grue`: my show hn got upvoted 0 times and 18 users even clicked on it, it's a goddamn lottery 2014-11-12T14:43:06Z psy_ joined #lisp 2014-11-12T14:43:17Z eudoxia: i suspect Show HN's tend to get less visits 2014-11-12T14:43:25Z eudoxia: i just post my projects as regular posts 2014-11-12T14:43:37Z eudoxia: (i don't have a single fact to back that up btw) 2014-11-12T14:43:54Z rtra joined #lisp 2014-11-12T14:44:16Z stassats quit (Ping timeout: 265 seconds) 2014-11-12T14:44:36Z hitecnologys: Shinmera: most of your projects are just fine without stars. There wouldn't be any difference if a few bits had different values in GitHub's database. 2014-11-12T14:44:36Z Aiwass joined #lisp 2014-11-12T14:45:04Z Shinmera: hitecnologys: That's what I'm saying. I wish I didn't care about it, but I catch myself caring every now and again. 2014-11-12T14:45:06Z davazp joined #lisp 2014-11-12T14:45:47Z eudoxia: it's ok to care, it's what normal people would do 2014-11-12T14:45:50Z hitecnologys: Shinmera: the key to not caring is not receiving any of that care thing so that, eventually, you end up getting used to it. 2014-11-12T14:45:50Z H4ns: has this channel become a github addict support group or something? 2014-11-12T14:46:12Z hitecnologys: H4ns: sorry, shutting up and getting back to work now. 2014-11-12T14:46:48Z H4ns: "i used to just care, but then it got out of hand and i began to schedule my commits so that my github score card would look more beautiful" 2014-11-12T14:47:15Z eudoxia: i thought i was the only one who did that 2014-11-12T14:48:19Z miql joined #lisp 2014-11-12T14:51:05Z wooden quit (Ping timeout: 272 seconds) 2014-11-12T14:52:27Z bsima joined #lisp 2014-11-12T14:53:27Z miql quit (Ping timeout: 265 seconds) 2014-11-12T14:54:42Z Aiwass left #lisp 2014-11-12T14:58:30Z kushal joined #lisp 2014-11-12T15:06:02Z ivan\ quit (Ping timeout: 255 seconds) 2014-11-12T15:08:29Z ivan\ joined #lisp 2014-11-12T15:09:35Z Ethan- quit (Ping timeout: 250 seconds) 2014-11-12T15:11:07Z jusss quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-11-12T15:12:24Z drdanmaku joined #lisp 2014-11-12T15:13:19Z yuikov joined #lisp 2014-11-12T15:15:31Z miql joined #lisp 2014-11-12T15:17:54Z yuikov quit (Ping timeout: 250 seconds) 2014-11-12T15:18:31Z alexey quit (Remote host closed the connection) 2014-11-12T15:19:59Z miql quit (Ping timeout: 244 seconds) 2014-11-12T15:22:29Z Harag1 quit (Remote host closed the connection) 2014-11-12T15:22:41Z Harag joined #lisp 2014-11-12T15:23:17Z resttime quit (Read error: Connection reset by peer) 2014-11-12T15:23:37Z resttime joined #lisp 2014-11-12T15:23:58Z dxtr quit (Ping timeout: 265 seconds) 2014-11-12T15:24:59Z dxtr joined #lisp 2014-11-12T15:25:10Z innertracks joined #lisp 2014-11-12T15:25:14Z ivan\ quit (Ping timeout: 245 seconds) 2014-11-12T15:29:02Z ivan\ joined #lisp 2014-11-12T15:31:40Z stassats joined #lisp 2014-11-12T15:32:06Z rjmacready_ joined #lisp 2014-11-12T15:34:50Z ivan\ quit (Ping timeout: 255 seconds) 2014-11-12T15:35:30Z moore33 joined #lisp 2014-11-12T15:39:24Z araujo joined #lisp 2014-11-12T15:40:13Z pavelpenev joined #lisp 2014-11-12T15:42:10Z zickzackv quit (Ping timeout: 250 seconds) 2014-11-12T15:42:42Z miql joined #lisp 2014-11-12T15:42:52Z Karl_Dscc quit (Remote host closed the connection) 2014-11-12T15:43:21Z octophore joined #lisp 2014-11-12T15:44:00Z zickzackv joined #lisp 2014-11-12T15:44:12Z ndrei quit (Ping timeout: 265 seconds) 2014-11-12T15:44:53Z test1600 quit (Ping timeout: 240 seconds) 2014-11-12T15:47:22Z miql quit (Ping timeout: 245 seconds) 2014-11-12T15:48:46Z hiyosi quit (Read error: Connection reset by peer) 2014-11-12T15:49:06Z mingvs quit (Ping timeout: 265 seconds) 2014-11-12T15:49:54Z hiyosi joined #lisp 2014-11-12T15:50:54Z mingvs joined #lisp 2014-11-12T15:50:56Z Nizumzen joined #lisp 2014-11-12T15:51:17Z stassats quit (Read error: Connection reset by peer) 2014-11-12T15:52:29Z przl joined #lisp 2014-11-12T15:52:56Z przl quit (Client Quit) 2014-11-12T15:53:00Z eudoxia quit (Quit: leaving) 2014-11-12T15:53:31Z stassats joined #lisp 2014-11-12T15:53:53Z gravicappa quit (Ping timeout: 264 seconds) 2014-11-12T15:55:19Z madmalik joined #lisp 2014-11-12T15:55:41Z innertracks quit (Quit: innertracks) 2014-11-12T15:56:28Z munksgaard quit (Ping timeout: 250 seconds) 2014-11-12T15:58:25Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-12T15:59:21Z jumblerg joined #lisp 2014-11-12T16:02:56Z pavelpenev quit (Ping timeout: 256 seconds) 2014-11-12T16:04:56Z rtra quit (Ping timeout: 244 seconds) 2014-11-12T16:05:09Z jtza8 joined #lisp 2014-11-12T16:05:55Z pavelpenev joined #lisp 2014-11-12T16:07:50Z bsima quit (Quit: Leaving.) 2014-11-12T16:09:56Z miql joined #lisp 2014-11-12T16:10:29Z Vutral quit (Excess Flood) 2014-11-12T16:12:03Z rtra joined #lisp 2014-11-12T16:13:57Z yuikov joined #lisp 2014-11-12T16:14:23Z miql quit (Ping timeout: 240 seconds) 2014-11-12T16:14:55Z duggiefresh joined #lisp 2014-11-12T16:18:12Z yuikov quit (Ping timeout: 245 seconds) 2014-11-12T16:20:41Z Vutral joined #lisp 2014-11-12T16:21:14Z TDog joined #lisp 2014-11-12T16:22:07Z test1600 joined #lisp 2014-11-12T16:26:39Z drmeister: eudoxia: Do you have any recommendations on how to replace code and history of the drmeister/clasp repository without touching the github issues, stars etc? 2014-11-12T16:26:59Z yrk joined #lisp 2014-11-12T16:27:13Z psy_ quit (Remote host closed the connection) 2014-11-12T16:27:28Z yrk quit (Changing host) 2014-11-12T16:27:28Z yrk joined #lisp 2014-11-12T16:33:12Z bsima joined #lisp 2014-11-12T16:33:21Z redeemed quit (Quit: q) 2014-11-12T16:33:34Z Harag quit (Ping timeout: 244 seconds) 2014-11-12T16:33:41Z Shinmera: drmeister: You should be able to use git filter and then just force push it that'll replace the history. 2014-11-12T16:33:49Z Shinmera: drmeister: That shouldn't affect the rest that github does. 2014-11-12T16:34:26Z Shinmera: drmeister: Otherwise you can create a separate branch and set that as the new main branch in the repository settings on github. 2014-11-12T16:35:11Z Harag joined #lisp 2014-11-12T16:37:03Z jtza8 quit (Ping timeout: 264 seconds) 2014-11-12T16:37:05Z miql joined #lisp 2014-11-12T16:39:52Z k-stz joined #lisp 2014-11-12T16:41:14Z drmeister: Shinmera: What I want is to wipe out the repository on github and push a new repository with a cleaned up history. 2014-11-12T16:41:53Z cmatei quit (Ping timeout: 240 seconds) 2014-11-12T16:44:19Z drmeister: I have already cleaned up the history of the repository on a local version. It took several hours. Now I have this slimmed down, cleaned up version of clasp with a .git directory that is only 89M The drmeister/clasp repository has a .git directory that is about 570M I'd like to replace the github repository with my local version. 2014-11-12T16:46:11Z hitecnologys: drmeister: `git push -f ` should suffice, as Shinmera said. 2014-11-12T16:47:21Z jumblerg quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2014-11-12T16:47:37Z hitecnologys: drmeister: but that's not very good practice for everyday use. You have to have really good reasons for doing that. Everyone, who has already cloned your repository, will probably be confused. 2014-11-12T16:52:10Z zacharias quit (Ping timeout: 255 seconds) 2014-11-12T16:57:11Z ananna quit (Read error: Connection reset by peer) 2014-11-12T16:57:20Z theseb joined #lisp 2014-11-12T16:57:40Z Cymew quit (Ping timeout: 265 seconds) 2014-11-12T16:57:55Z yrk quit (Ping timeout: 250 seconds) 2014-11-12T16:58:22Z theseb: in a macro like (lambda (x) x) does the x have to be gensym'd? 2014-11-12T16:58:26Z zickzackv quit (Ping timeout: 250 seconds) 2014-11-12T16:58:46Z theseb: should i just gensym EVERY parameter of all lambdas? 2014-11-12T16:59:48Z theseb: One more thing..is this kosher?.....it seems in macro writing sometimes i need to quote comma stuff...e.g. `(foo ',wow) ...that's ok and common right? 2014-11-12T17:00:21Z oGMo: quite 2014-11-12T17:00:27Z theseb: e.g. clearly () needs to be quoted ...'() 2014-11-12T17:00:34Z theseb: oGMo: yes? cool! 2014-11-12T17:00:38Z oGMo: wait til you have `(.. `(foo ,',bar) ...) 2014-11-12T17:00:38Z Grue`: not that common, but it happens 2014-11-12T17:01:11Z oGMo: or 3+ commas which gets fun ;/ 2014-11-12T17:01:44Z Grue`: and what do you mean by "macro like (lambda (x) x)" because it's not even a macro 2014-11-12T17:02:41Z ggole: lambda is a macro 2014-11-12T17:02:57Z oGMo: no, lambda is a special form 2014-11-12T17:03:08Z ggole: clhs lambda 2014-11-12T17:03:08Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_lambda.htm 2014-11-12T17:03:16Z Grue`: yes, but (lambda (x) x) is an expression, which evaluates to a function 2014-11-12T17:03:27Z ggole: "Macro LAMBDA" 2014-11-12T17:03:37Z fantazo joined #lisp 2014-11-12T17:04:26Z oGMo: i thought there were semantics which prevented it from actually being implemented as a macro 2014-11-12T17:04:58Z janmuffino quit (Ping timeout: 246 seconds) 2014-11-12T17:05:01Z ggole: It just expands to (function (lambda (x) x)) iirc 2014-11-12T17:05:03Z oGMo: e.g. ((lambda (x) ...) 42) 2014-11-12T17:05:12Z theseb: Grue`: sorry..i meant...suppose you used define-macro to define my-macro to = that lambda 2014-11-12T17:05:14Z Grue`: if a macro expands to a lambda then some params might need to be gensymmed, but I prefer for the macro to accept a list of the arguments for the functions defined within 2014-11-12T17:05:19Z ndrei joined #lisp 2014-11-12T17:05:53Z ggole: oGMo: try running macro-function on lambda and some other special form (let?) 2014-11-12T17:06:13Z oGMo: ggole: it may behave as such, but try defining a macro which works as above 2014-11-12T17:06:33Z oGMo: i.e., you can pretend lambda is a macro, but you can't pretend a macro is lambda 2014-11-12T17:06:40Z ggole: Right. 2014-11-12T17:06:46Z ggole: It's a bit odd. 2014-11-12T17:07:38Z ggole: My rough understanding is that lambda is a macro, and is additionally special cased in function position. 2014-11-12T17:07:48Z theseb: Grue`: here... http://pastebin.com/syNXJCEf that's a macro for let 2014-11-12T17:08:29Z Grue`: well, that's not common lisp 2014-11-12T17:08:37Z theseb: Grue`: now we don't need to talk hypotheticals.... 2014-11-12T17:09:04Z theseb: Grue`: i'm making my own lisp 2014-11-12T17:09:23Z Grue`: then how do you expect us to answer how your own lisp works 2014-11-12T17:09:24Z theseb: Grue`: assuming i converted it to CL....would pairs and block need to be gensym'd? 2014-11-12T17:09:50Z theseb: Grue`: it is a general question...to ALL lambda params need to be gensym'd? (where lambda is used as in that example?) 2014-11-12T17:09:57Z theseb: s/to ALL/do ALL 2014-11-12T17:10:55Z Grue`: what is the expansion of this macro? if it contains some variables that are not supplied by user, they need to be gensymmed 2014-11-12T17:11:29Z theseb: Grue`: user will do (let (x 1) (+ x 1)) or some such 2014-11-12T17:11:30Z Grue`: not always though, that depends if user's code is injected in their lexical scope 2014-11-12T17:11:33Z Nizumzen quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-11-12T17:11:38Z theseb: Grue`: so pairs = (x 1) and block is (+ x 1) 2014-11-12T17:11:56Z moore33 quit 2014-11-12T17:11:59Z duggiefresh quit (Remote host closed the connection) 2014-11-12T17:12:08Z Grue`: but the symbols "pairs" and "block" do not appear in the expansion 2014-11-12T17:12:09Z stassats: that's not a block 2014-11-12T17:12:11Z theseb: Grue`: so is that a no? i think what you are saying is only local ("intermediate" ?) vars need to be gensym'd? 2014-11-12T17:12:12Z mvilleneuve quit (Quit: This computer has gone to sleep) 2014-11-12T17:12:22Z theseb: Grue`: sorry i don't know the correct lingo 2014-11-12T17:12:25Z duggiefresh joined #lisp 2014-11-12T17:12:30Z theseb: i'm a physics person trying to talk computer-ese 2014-11-12T17:12:44Z stassats: why are you trying to implement lisp if you don't know it that well? 2014-11-12T17:13:12Z miql quit (Ping timeout: 245 seconds) 2014-11-12T17:13:44Z oleo: anything where there's a chance of improper referencing requires gensym ........ 2014-11-12T17:13:59Z miql joined #lisp 2014-11-12T17:14:34Z pjb: (defmacro λ (lambda-list &body body) `(lambda ,lambda-list ,@body)) ; no need for gensym. 2014-11-12T17:14:41Z yuikov joined #lisp 2014-11-12T17:15:19Z fisxoj joined #lisp 2014-11-12T17:15:27Z Grue`: clearly the solution to gensym is to use greek letters for variables :) 2014-11-12T17:15:42Z pjb: Stop being dumb. 2014-11-12T17:15:45Z theseb: stassats: to learn it! 2014-11-12T17:15:48Z oleo: pjb: is that the hidden gensym version ? 2014-11-12T17:15:49Z oleo: lol 2014-11-12T17:15:55Z stassats: theseb: that's a poor way to do that 2014-11-12T17:16:09Z stassats: you are not implementing it in lisp, so you wouldn't know how to actually write programs in lisp 2014-11-12T17:16:15Z theseb: stassats: i define block as 1 or more sexps 2014-11-12T17:16:31Z pjb: theseb: so do you have an specific question? 2014-11-12T17:16:58Z duggiefresh quit (Ping timeout: 244 seconds) 2014-11-12T17:18:57Z yuikov quit (Ping timeout: 240 seconds) 2014-11-12T17:19:10Z alexey joined #lisp 2014-11-12T17:21:01Z theseb: pjb: yes...trying to understand when gensym needed....if i understand correctly...you need it when you have local/intermediate vars that don't inherit values of arguments 2014-11-12T17:21:24Z EvW quit (Ping timeout: 244 seconds) 2014-11-12T17:21:27Z theseb: but if a parameter will be set to value of user supplied argument value then it is "safe" 2014-11-12T17:21:36Z theseb: pjb: is that right? 2014-11-12T17:22:08Z theseb: pjb: yes..to use your example....body is set to user supplied value so safe! 2014-11-12T17:22:14Z stassats: that's a very basic concept when writing macros 2014-11-12T17:22:17Z stassats: just read http://www.gigamonkeys.com/book/macros-defining-your-own.html 2014-11-12T17:22:41Z stassats: or read the whole book, instead of asking #lisp all the time 2014-11-12T17:22:43Z sheilong joined #lisp 2014-11-12T17:22:45Z theseb: pjb, stassats: hey! i just thought of a brainless way to tell if something needs to be gensym'd!.....if it has a comma in front then safe! 2014-11-12T17:22:54Z stassats: no 2014-11-12T17:23:37Z alexey quit (Ping timeout: 245 seconds) 2014-11-12T17:25:02Z theseb: stassats: aw crap..i really thought i nailed it 2014-11-12T17:25:07Z Grue`: gensymmed vars have comma in front of them all the time 2014-11-12T17:25:26Z stassats: theseb: you need to understand things 2014-11-12T17:26:01Z theseb: stassats: wait..the REASON you comma something is because it will be eval'd and pull the value from the environment 2014-11-12T17:26:13Z theseb: stassats: which USUALLY is the user supplied vals yes? 2014-11-12T17:26:20Z mrSpec quit (Read error: Connection reset by peer) 2014-11-12T17:26:25Z theseb: stassats: *usually* ? 2014-11-12T17:26:28Z theseb: *often* ? 2014-11-12T17:27:14Z theseb: stassats: btw....you have to admit...writing your own lisp is a pretty solid way to go from moron to "right on" fast no? 2014-11-12T17:27:19Z test1600 quit (Ping timeout: 245 seconds) 2014-11-12T17:27:25Z theseb: it just sounds cool 2014-11-12T17:27:25Z c4h quit (Quit: quit) 2014-11-12T17:27:27Z Grue`: backtick/comma is just a convenience feature, it doesn't really eval anything 2014-11-12T17:27:40Z c4h joined #lisp 2014-11-12T17:27:58Z theseb: Grue`: yea..it just says to not put a quote in front 2014-11-12T17:28:06Z mrSpec joined #lisp 2014-11-12T17:28:07Z theseb: which effectively causes an eval 2014-11-12T17:28:19Z stassats: macros and backquotes are orthogonal 2014-11-12T17:28:21Z c4h quit (Client Quit) 2014-11-12T17:28:34Z stassats: you need to think about the input and the ouput of a macro 2014-11-12T17:28:40Z stassats: not how it's implemented 2014-11-12T17:28:54Z stassats: theseb: not, writing your own lisp is a bad way 2014-11-12T17:29:12Z drmeister: hitechnologies: I don't plan to do this everyday. Just this one time while I have fewer users to confuse. When I first created the clasp repository I had all of the external libraries embedded within the repository. I have subsequently taken them out. But they were still in the history. 2014-11-12T17:29:26Z stassats: especially when it's not written in lisp 2014-11-12T17:29:27Z denisrum joined #lisp 2014-11-12T17:29:33Z drmeister: Yesterday I did a bit cleanup that filtered out all of those external libraries and useless files from the history. 2014-11-12T17:29:42Z stassats: theseb: and the amount of simple questions you generate confirms that 2014-11-12T17:29:49Z pjb: theseb: you need gensym when you are binding things for your macro in the environment of the expanded form. 2014-11-12T17:29:51Z drmeister: *big cleanup 2014-11-12T17:30:08Z pjb: theseb: you need them to avoid shadowing a thing with the name you would use otherwise. 2014-11-12T17:30:20Z yrk joined #lisp 2014-11-12T17:30:52Z yrk quit (Changing host) 2014-11-12T17:30:52Z yrk joined #lisp 2014-11-12T17:31:04Z Grue`: writing your own lisp is a good way to write, and learn, a bad lisp 2014-11-12T17:31:13Z pjb: stassats: Well, learning Common Lisp by writting a lisp or by writing a CD database is the same for me. 2014-11-12T17:32:18Z pt1 joined #lisp 2014-11-12T17:32:58Z theseb: stassats: is it ok if i ask some simple questions? i like talking about lisp....i'll even donate some bitcoins to folks in here to show my appreciation if I must 2014-11-12T17:33:20Z stassats: it is ok, but it demonstrates the inefficiency of your method 2014-11-12T17:33:32Z mrSpec quit (Ping timeout: 250 seconds) 2014-11-12T17:33:43Z theseb: pjb: your answer is probably excellent but I don't understand your wording 2014-11-12T17:33:45Z pjb: theseb: also if you want to discuss non Common Lisp lisp you may want to try ##lisp or #lispcafe instead. 2014-11-12T17:34:16Z theseb: pjb: "binding" ? "expanded form" ? "shadowing" ? i mean i can *guess* what they mean but it will take a while to process your genius for me 2014-11-12T17:34:17Z pjb: theseb: that's the problem: you would have to learn writing macros in Common Lisp. For that, read most any tutorial or book about Common Lisp. 2014-11-12T17:34:31Z theseb: i'm from a different culture 2014-11-12T17:34:45Z pjb: What culture? 2014-11-12T17:34:50Z Grue`: do they not read books in that culture? ;) 2014-11-12T17:34:55Z theseb: pjb: i'm a physics teacher 2014-11-12T17:35:05Z theseb: pjb: on #physics i smoke 2014-11-12T17:35:06Z pjb: Good. 2014-11-12T17:35:11Z theseb: in here i'm a goober 2014-11-12T17:35:16Z pjb: I like physics teachers :-) 2014-11-12T17:35:24Z stassats: theseb: that doesn't excuse you 2014-11-12T17:35:55Z pjb: theseb: my wording is general because you may need gensyms to name different kinds of things. 2014-11-12T17:36:08Z pjb: theseb: but let's take the case of simple variables, bound with LET. 2014-11-12T17:36:26Z pjb: theseb: what would be the result of evaluating: (let ((x 42)) (let ((x 33)) x)) ? 2014-11-12T17:38:17Z girrig quit (Ping timeout: 264 seconds) 2014-11-12T17:38:55Z theseb: pjb: just a sec..thinking 2014-11-12T17:38:58Z tadni quit (Remote host closed the connection) 2014-11-12T17:39:06Z theseb: pjb: 33 2014-11-12T17:39:09Z pjb: Right. 2014-11-12T17:39:12Z theseb: pjb: the outer x is shadowed 2014-11-12T17:39:18Z pjb: Exactly. 2014-11-12T17:39:57Z pjb: So if you define a macro that needs to bind a variable, and if you want to use it in a form where X is already defined, then you should not use X for your variable name. 2014-11-12T17:40:16Z theseb: right 2014-11-12T17:40:17Z pjb: And it's the same for all the symbols, since any symbol can be used for a variable name. 2014-11-12T17:40:21Z pjb: (almost). 2014-11-12T17:40:47Z girrig joined #lisp 2014-11-12T17:41:13Z pjb: So if your macro should expand to a form containing (let (({var} …)) …) then {var} should be a symbol created by the macro so that it doesn't shadow a symbol from the user program. 2014-11-12T17:41:27Z fragamus quit (Ping timeout: 272 seconds) 2014-11-12T17:41:37Z TDog_ joined #lisp 2014-11-12T17:41:44Z pjb: So your macro will return something like: `(let ((,vname ,expression)) ,@body) 2014-11-12T17:42:17Z pjb: where vname will be your gensym symbol (you could also use make-symbol). 2014-11-12T17:42:41Z TDog quit (Ping timeout: 265 seconds) 2014-11-12T17:42:47Z TDog_ is now known as TDog 2014-11-12T17:42:52Z Vutral quit (Excess Flood) 2014-11-12T17:43:07Z stassats: please, don't use make-symbol 2014-11-12T17:43:57Z haom joined #lisp 2014-11-12T17:44:11Z Vutral joined #lisp 2014-11-12T17:45:06Z gravicappa joined #lisp 2014-11-12T17:47:33Z pjb: theseb: therefore here is an example: http://paste.lisp.org/+33DS 2014-11-12T17:48:00Z theseb: pjb: this is like learning a foreign lang..it will just take some time to soak in i think 2014-11-12T17:48:44Z theseb: pjb: ok...yes good example 2014-11-12T17:48:48Z Karl_Dscc joined #lisp 2014-11-12T17:48:50Z pjb: theseb: a nice tutorial for macro writing: Casting Spels in Lisp Conrad Barski, M.D. http://www.lisperati.com/casting.html 2014-11-12T17:49:06Z loz joined #lisp 2014-11-12T17:49:08Z theseb: pjb: vcounter, vlimit and vstart-label are vars that were NOT passed in so i'm not surprised they weren't gensym'd 2014-11-12T17:49:33Z pt1 quit (Remote host closed the connection) 2014-11-12T17:49:44Z pjb: their value is used in the result of the macro (the expansion), but not themselves. 2014-11-12T17:49:46Z theseb: pjb: it would be silly and unnecessary to gensym your var and times variables right? that was my (possibly dumb) question 2014-11-12T17:49:50Z pjb: their values are gensyms. 2014-11-12T17:50:08Z pjb: var and times are parameter of the macro. 2014-11-12T17:50:10Z theseb: because var and times and params with vals passed in 2014-11-12T17:50:18Z theseb: pjb: yes! so params do NOT get gensym'd? 2014-11-12T17:50:28Z pjb: var holds the symbol naming the variables that should contain the counter in the scope where the body is evaluated. 2014-11-12T17:50:48Z pjb: times is bound to an expressions that is evaluated once to know the number of times the loop must iterate. 2014-11-12T17:50:55Z stassats: theseb: it doesn't matter where the symbols comes from 2014-11-12T17:51:08Z stassats: it depends on whether you want to introduce into around the body or not 2014-11-12T17:51:18Z pjb: theseb: depends on what you mean. I explicitely created the vlimit gensym to contain the result of the evaluation of the expresison bounds to times. 2014-11-12T17:51:25Z DrCode quit (Remote host closed the connection) 2014-11-12T17:51:34Z joneshf-laptop joined #lisp 2014-11-12T17:52:17Z innertracks joined #lisp 2014-11-12T17:52:35Z DrCode joined #lisp 2014-11-12T17:52:42Z DrCode quit (Remote host closed the connection) 2014-11-12T17:52:47Z tadni joined #lisp 2014-11-12T17:52:52Z sheilong quit (Quit: Konversation terminated!) 2014-11-12T17:53:26Z pavelpenev quit (Ping timeout: 256 seconds) 2014-11-12T17:53:37Z pjb: theseb: when dealing with macros, you have to be conscious of what is evaluated when the macro function is evaluated (at macro expansion time), and the result of that macro, the form what will be evaluated at run-time. 2014-11-12T17:54:38Z pjb: var and times are parameters that are bound at macroexpansion time, that are bound to sexps that are used to build the result form that will be evaluated at run-time. 2014-11-12T17:55:19Z jtza8 joined #lisp 2014-11-12T17:55:30Z joneshf joined #lisp 2014-11-12T17:55:37Z joneshf-laptop quit (Ping timeout: 240 seconds) 2014-11-12T17:55:38Z pjb: similarly for the vcounter, vlimit and vstart-label variables: they are macro-expansion time variables of the macro function, and they are bound to gensym'ed symbols that are used in the resulting form, where they are used as tag label or as variable names (at run-time). 2014-11-12T17:56:34Z DrCode joined #lisp 2014-11-12T17:56:55Z ofosos joined #lisp 2014-11-12T17:57:00Z GlassOctober joined #lisp 2014-11-12T17:57:45Z freehck: People, if I want to change value for the symbol defined via (defvar ...) or (defparameter ...) only for a part of code, shall I still use (let ...)? 2014-11-12T17:57:56Z pjb: Yes. 2014-11-12T17:58:10Z freehck: In Racket there was (with-patameters ...) for these purposes. 2014-11-12T17:58:11Z pjb: That is, if you want to change it temporarily. 2014-11-12T17:58:17Z freehck: pjb: thank you 2014-11-12T17:58:34Z pjb: freehck: dynamic = time, lexical = space. 2014-11-12T17:58:43Z GlassOctober is now known as cy 2014-11-12T17:58:53Z freehck: pjb: what? 2014-11-12T17:59:16Z freehck: pjb: what do you mean when say time and space? 2014-11-12T17:59:24Z pjb: freehck: the point is that (defvar *x* 0) (defun f () (print *x*)) (let ((*x* 42)) (f)) will print 42. *x* is bound to 42 in the third form, but WHEN you call F, it is still bound to 42. 2014-11-12T17:59:42Z stassats: freehck: in CL, special and lexical variables look the same 2014-11-12T17:59:49Z hitecnologys: drmeister: didn't notice, sorry. Everybody misspells my nickname. It's not a typo, it was an abbreviation of sorts meaning of which I forgot. 2014-11-12T17:59:53Z pjb: there are two spaces: the body of F and the body of the LET form, where *x* is accessed. 2014-11-12T18:00:02Z stassats: freehck: everything that work on lexical variables will work on special as well 2014-11-12T18:00:15Z pjb: but differently. 2014-11-12T18:00:36Z pjb: everything that work on lexical variables will work on dynamic variable as well, but specially. 2014-11-12T18:00:59Z hitecnologys: drmeister: should be fine then, as long as you make everyone re-clone (from what I know, this is the easiest way) the repository in order to avoid unnecessary mess. 2014-11-12T18:01:15Z stassats: hitecnologys: savages without auto completion 2014-11-12T18:01:29Z freehck: pjb: thank you one more time - I perfectly understand what dynamic scope is. 2014-11-12T18:01:53Z duggiefresh joined #lisp 2014-11-12T18:02:20Z hitecnologys: stassats: yes, that plays part in this process too. 2014-11-12T18:04:21Z freehck: btw, is there something like (with-output-to-file BODY)? 2014-11-12T18:05:36Z freehck: oh, have found with-open-file 2014-11-12T18:06:40Z stassats: minion: clqr? 2014-11-12T18:06:40Z minion: clqr: The Common Lisp Quick Reference is a booklet with short descriptions of the symbols defined in the ANSI standard: http://clqr.berlios.de/ 2014-11-12T18:06:50Z pnpuff joined #lisp 2014-11-12T18:07:37Z freehck: stassats: link doesn't work btw 2014-11-12T18:08:18Z freehck: stassats: but slime can look for hyperspec, and I can look in slime source for these purposes. 2014-11-12T18:08:18Z hitecnologys: Indeed. 2014-11-12T18:08:22Z freehck: almost the same 2014-11-12T18:08:23Z ofosos_ joined #lisp 2014-11-12T18:08:36Z stassats: when you know what to look for 2014-11-12T18:09:03Z stassats: minion: clqr? 2014-11-12T18:09:03Z minion: clqr: The Common Lisp Quick Reference is a booklet with short descriptions of the symbols defined in the ANSI standard: http://clqr.boundp.org/ 2014-11-12T18:09:05Z hiroakip joined #lisp 2014-11-12T18:09:19Z freehck: stassats: it works! 2014-11-12T18:10:02Z Grue`: usually you can just press C-h m to see all SLIME keybindings 2014-11-12T18:10:45Z shka joined #lisp 2014-11-12T18:11:06Z freehck: Grue`: I spoke about the dictionary. 2014-11-12T18:11:13Z freehck: slime 2014-11-12T18:11:20Z pavelpenev joined #lisp 2014-11-12T18:11:22Z ofosos quit (Ping timeout: 255 seconds) 2014-11-12T18:13:04Z Jesin joined #lisp 2014-11-12T18:15:25Z yuikov joined #lisp 2014-11-12T18:16:23Z kanru` quit (Ping timeout: 255 seconds) 2014-11-12T18:17:57Z freehck: Grue`: sorry, the dictionary is not in slime.el, it's in hyperspec.el... 2014-11-12T18:18:11Z freehck: Grue`: the variable common-lisp-hyperspec--symbols consists the full contents. 2014-11-12T18:19:06Z freehck: *contains (sorry by english) 2014-11-12T18:19:29Z stassats: hyperspec.el provides not only symbols 2014-11-12T18:19:57Z freehck: stassats: I use only search function from there. 2014-11-12T18:20:19Z yuikov quit (Ping timeout: 265 seconds) 2014-11-12T18:20:19Z freehck: Have bound it to C-F1 to find symbols in hyperspec. 2014-11-12T18:20:22Z hardenedapple quit (Quit: WeeChat 1.0.1) 2014-11-12T18:20:28Z sheilong joined #lisp 2014-11-12T18:20:37Z Grue`: use (apropos "foo") 2014-11-12T18:20:47Z nyef joined #lisp 2014-11-12T18:20:50Z Grue`: or (apropos "foo" :cl) 2014-11-12T18:21:02Z nyef: Hello all. 2014-11-12T18:21:19Z freehck: Grue`: not bad! 2014-11-12T18:21:23Z freehck: nyef: hi 2014-11-12T18:21:48Z attila_lendvai joined #lisp 2014-11-12T18:21:48Z attila_lendvai quit (Changing host) 2014-11-12T18:21:48Z attila_lendvai joined #lisp 2014-11-12T18:24:48Z ndrei quit (Ping timeout: 256 seconds) 2014-11-12T18:25:42Z zacharias joined #lisp 2014-11-12T18:27:11Z pt1 joined #lisp 2014-11-12T18:27:14Z hiyosi quit (Ping timeout: 244 seconds) 2014-11-12T18:30:52Z pnpuff quit (Quit: quit) 2014-11-12T18:31:51Z wchun joined #lisp 2014-11-12T18:32:23Z wchun quit (Read error: Connection reset by peer) 2014-11-12T18:34:40Z tadni quit (Remote host closed the connection) 2014-11-12T18:34:57Z stassats` joined #lisp 2014-11-12T18:35:04Z stassats` quit (Changing host) 2014-11-12T18:35:04Z stassats` joined #lisp 2014-11-12T18:35:05Z stassats quit (Read error: Connection reset by peer) 2014-11-12T18:35:24Z EvW joined #lisp 2014-11-12T18:37:53Z thawes quit (Remote host closed the connection) 2014-11-12T18:38:05Z tadni joined #lisp 2014-11-12T18:39:17Z hiroakip quit (Ping timeout: 258 seconds) 2014-11-12T18:42:33Z ofosos_ quit (Ping timeout: 265 seconds) 2014-11-12T18:43:01Z sheilong: Primitive procedures are those defined by the system ? 2014-11-12T18:44:36Z TDog quit (Ping timeout: 250 seconds) 2014-11-12T18:44:38Z gigetoo quit (Ping timeout: 256 seconds) 2014-11-12T18:45:03Z Vutral quit (Excess Flood) 2014-11-12T18:45:56Z araujo quit (Ping timeout: 265 seconds) 2014-11-12T18:46:03Z Vutral joined #lisp 2014-11-12T18:47:21Z innertracks quit (Quit: innertracks) 2014-11-12T18:47:36Z stassats`: sheilong: there's no such term 2014-11-12T18:49:23Z fantazo quit (Quit: Verlassend) 2014-11-12T18:49:34Z Vutral quit (Excess Flood) 2014-11-12T18:50:05Z thawes joined #lisp 2014-11-12T18:50:19Z rjmacready_ quit (Ping timeout: 246 seconds) 2014-11-12T18:51:46Z hiroakip joined #lisp 2014-11-12T18:52:16Z araujo joined #lisp 2014-11-12T18:52:41Z stassats` quit (Ping timeout: 264 seconds) 2014-11-12T18:52:59Z ofosos joined #lisp 2014-11-12T18:53:46Z gravicappa quit (Remote host closed the connection) 2014-11-12T18:54:32Z thawes quit (Client Quit) 2014-11-12T18:54:33Z araujo quit (Max SendQ exceeded) 2014-11-12T18:55:20Z araujo joined #lisp 2014-11-12T18:55:25Z stassats joined #lisp 2014-11-12T18:55:40Z gigetoo joined #lisp 2014-11-12T18:55:58Z stassats: sheilong: but primitive usually suggests something that can't be implemented by other means 2014-11-12T18:56:10Z thawes joined #lisp 2014-11-12T18:57:32Z slyrus joined #lisp 2014-11-12T18:57:43Z fisxoj quit (Remote host closed the connection) 2014-11-12T18:58:53Z Harag quit (Ping timeout: 240 seconds) 2014-11-12T18:59:32Z pt1 quit (Remote host closed the connection) 2014-11-12T18:59:34Z innertracks joined #lisp 2014-11-12T18:59:52Z innertracks quit (Client Quit) 2014-11-12T19:01:35Z thawes quit (Quit: No Ping reply in 180 seconds.) 2014-11-12T19:03:06Z Lefeni joined #lisp 2014-11-12T19:03:42Z cracauer quit (Ping timeout: 244 seconds) 2014-11-12T19:05:45Z White_Flame: sheilong: there are various ways of implementing a Lisp (or even Common Lisp in particular) regarding which primitives you build from. The notion of "primitive procedure" isn't really brought up in the spec afaik 2014-11-12T19:06:26Z White_Flame: ie, you could have cons/cdr/car as primivite, and implement lambdas using them; or have lambda as primitive and implement cons/car/cdr using lambdas 2014-11-12T19:06:31Z White_Flame: s/ie/eg/ :-P 2014-11-12T19:06:34Z stassats` joined #lisp 2014-11-12T19:06:47Z hiroakip quit (Ping timeout: 265 seconds) 2014-11-12T19:07:23Z pjb: Specifically, the CL standard distinguishes macros from special operators, but allows implementation to implement special operators as macros, and macros as special operators, and furthermore, allows open-coding of all the CL functions. 2014-11-12T19:07:37Z slyrus quit (Ping timeout: 255 seconds) 2014-11-12T19:07:44Z innertracks joined #lisp 2014-11-12T19:07:59Z pjb: Which means that any operator in the CL package could be a primitive for a specific implementation. 2014-11-12T19:08:16Z pjb: For example, in the case of SICL, it's LOOP that is primitive :-) 2014-11-12T19:09:03Z sheilong: primitive procedures wouldn't be + - * /, define ? 2014-11-12T19:09:23Z pjb: (defmacro if (test then &optional else) (let ((name (gensym))) `(loop :named ,name :if ,test :do (return-from ,name ,then) :else :do (return-from ,name ,else)))) 2014-11-12T19:09:28Z pjb: sheilong: not necessarily. 2014-11-12T19:09:29Z stassats quit (Ping timeout: 255 seconds) 2014-11-12T19:09:31Z sheilong: I defined abs x and when I type a negative value on interpreter it returns a positive one 2014-11-12T19:09:31Z Aiwass joined #lisp 2014-11-12T19:09:33Z pjb: defun is a macro. 2014-11-12T19:09:35Z sheilong: https://bpaste.net/show/daf4928de55c 2014-11-12T19:09:43Z guaqua`: sheilong: do you want to know about common lisp or lisps in general? 2014-11-12T19:09:49Z guaqua` is now known as guaqua 2014-11-12T19:10:06Z theseb: guaqua: common lisps? 2014-11-12T19:10:07Z ndrei joined #lisp 2014-11-12T19:10:14Z theseb: guaqua: is there more than 1? 2014-11-12T19:10:21Z theseb: oh you mean implementations..ok gotcha 2014-11-12T19:10:53Z pjb: sheilong: your abs is not conforming to CL:ABS. 2014-11-12T19:10:54Z guaqua: no, common lisp or as in all lisps (scheme, clojure, racket, ...) 2014-11-12T19:10:59Z pjb: clhs abs 2014-11-12T19:11:00Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_abs.htm 2014-11-12T19:11:00Z pjb: "If number is a real, the result is of the same type as number." 2014-11-12T19:11:52Z sheilong: I did as is on sicp 2014-11-12T19:11:55Z pjb: sheilong: (if (minusp x) (- x) x) 2014-11-12T19:12:34Z guaqua: theseb: basically i was trying to get to "are we trying to interpret common lisp standard" or "are we talking about lisps and building languages from primitive forms" 2014-11-12T19:12:48Z theseb: ah 2014-11-12T19:13:11Z theseb: guaqua: fwiw..i think trying to find minimum set of primitives needed to build a good part of lisp is an interesting question 2014-11-12T19:13:31Z theseb: guaqua: i think lots of stuff can be implemented as macros i wouldn't have guessed..fascinating stuff 2014-11-12T19:13:45Z stassats`: implement me OPEN with a macro 2014-11-12T19:13:56Z theseb: lol 2014-11-12T19:13:58Z sheilong: pjb: why not ? 2014-11-12T19:14:06Z theseb: i/o is another matter 2014-11-12T19:14:07Z pjb: read above. 2014-11-12T19:14:16Z stassats`: theseb: ok, get-universal-time 2014-11-12T19:14:34Z Bike: sheilong: he's saying that you can put in, e.g., a floating point zero, and an integer zero will come out, but the clhs says the result has to be the same type. 2014-11-12T19:14:57Z guaqua: theseb: definitely. it's a fascinating subject in itself. but quite different from the language lawyering that is common on this channel :) 2014-11-12T19:15:02Z theseb: stassats`: your thinking practical...i'm thinking computability theory 2014-11-12T19:15:19Z Aiwass quit (Quit: ERC (IRC client for Emacs 25.0.50.1)) 2014-11-12T19:15:32Z Bike: in computability theory it's just lambda. or enough arithmetic to do diophantine equations, i guess. 2014-11-12T19:15:40Z guaqua: although the language lawyer lispniks mostly also appreciate the fascinating parts of lisp 2014-11-12T19:15:41Z theseb: stassats`: Alonzo Church and Alan Turing wouldn't give a rat's butt that you couldn't implement get-universal-time in TM and lambda cal. :) 2014-11-12T19:15:57Z Grue`: https://en.wikipedia.org/wiki/SKI_combinator_calculus 2014-11-12T19:16:09Z pjb: theseb: finding a minimum set of primitives needed to build lisp is a dumb question. Anything goes. You can do it with only LAMBDA! 2014-11-12T19:16:10Z yuikov joined #lisp 2014-11-12T19:16:17Z Bike: i'm pretty sure turing would have understood the importance of timing, given his wartime work 2014-11-12T19:16:20Z pjb: theseb: as soon as you have a turing machine, you can do it. 2014-11-12T19:16:31Z White_Flame: or you could go low-level and just have some basic raw memory access primitives and build up from there 2014-11-12T19:16:38Z White_Flame: pbj: right 2014-11-12T19:16:40Z cracauer joined #lisp 2014-11-12T19:16:55Z pjb: theseb: you can implement get-universal-time in TM and lambda calculus. 2014-11-12T19:16:58Z stassats`: raw memory access? what can you do with it? 2014-11-12T19:17:16Z guaqua: pjb: there's beauty in many forms. i'm thinking more art, not as much science 2014-11-12T19:17:19Z pjb: theseb: only, it's a time proper to the machine. 2014-11-12T19:17:35Z Bike: with raw memory access you hit page faults and then get your program running in the fault handler like that weird esoteric thing 2014-11-12T19:17:38Z Bike: bam, complete 2014-11-12T19:18:06Z pjb: theseb: anyways, if you want to implement I/O in TM or lambda-calculus, you will have to implement part of the universe too :-) 2014-11-12T19:18:07Z theseb: pjb: there is unfortunately an ambiguity when talking about "minimum set of primitives" 2014-11-12T19:18:36Z Bike: that ambiguity is basically the entire concept of turing emulation. 's old. 2014-11-12T19:18:40Z theseb: pjb: e.g......some will say a number is a primitive and then another will say..."you can implement numbers with just sets of nil!!!" 2014-11-12T19:18:41Z Petit_Dejeuner quit (Ping timeout: 244 seconds) 2014-11-12T19:19:01Z White_Flame: theseb: and that's the fun of Lisp 2014-11-12T19:19:03Z pjb: therefore there is no ambiguity: numbers are not primitive. 2014-11-12T19:19:05Z White_Flame: at least, for implementors 2014-11-12T19:19:06Z theseb: pjb: so i need to apparently specify the level of primitiveness i'm referring to 2014-11-12T19:19:24Z pjb: of course, it's not an absolute concept! 2014-11-12T19:19:33Z Bike: might as well ask about angels on pins 2014-11-12T19:19:34Z stassats`: this is all just mental masturbation 2014-11-12T19:19:58Z cmatei joined #lisp 2014-11-12T19:20:06Z pjb: Perhaps we should ban anybody mentionning the word primitive? 2014-11-12T19:20:13Z alexey joined #lisp 2014-11-12T19:20:40Z yuikov quit (Ping timeout: 255 seconds) 2014-11-12T19:20:50Z White_Flame: bah, your code is really primitive 2014-11-12T19:20:59Z White_Flame has been banned for mentioning the word 'primitive' 2014-11-12T19:21:08Z stassats`: finally 2014-11-12T19:21:22Z thawes joined #lisp 2014-11-12T19:21:43Z jidiculous joined #lisp 2014-11-12T19:22:36Z anannie joined #lisp 2014-11-12T19:22:37Z anannie quit (Changing host) 2014-11-12T19:22:37Z anannie joined #lisp 2014-11-12T19:23:17Z hiyosi joined #lisp 2014-11-12T19:25:05Z alexey quit (Ping timeout: 265 seconds) 2014-11-12T19:26:04Z jidiculous quit (Quit: Yow! Legally-imposed CULTURE-reduction is CABBAGE-BRAINED!) 2014-11-12T19:26:21Z shka: i should learn more about lisp implementation 2014-11-12T19:26:30Z shka: and finally start lisp in small pieces 2014-11-12T19:27:56Z hiyosi quit (Ping timeout: 250 seconds) 2014-11-12T19:28:23Z jtza8 quit (Ping timeout: 255 seconds) 2014-11-12T19:29:53Z mrSpec joined #lisp 2014-11-12T19:30:05Z mrSpec quit (Changing host) 2014-11-12T19:30:05Z mrSpec joined #lisp 2014-11-12T19:30:35Z slyrus joined #lisp 2014-11-12T19:31:40Z zickzackv joined #lisp 2014-11-12T19:32:53Z Grue` quit (Ping timeout: 240 seconds) 2014-11-12T19:35:33Z madmalik quit (Quit: Connection closed for inactivity) 2014-11-12T19:35:57Z ofosos quit (Ping timeout: 244 seconds) 2014-11-12T19:37:21Z girrig quit (Ping timeout: 272 seconds) 2014-11-12T19:38:19Z girrig joined #lisp 2014-11-12T19:38:53Z denisrum quit (Ping timeout: 264 seconds) 2014-11-12T19:40:01Z Grue` joined #lisp 2014-11-12T19:40:35Z ghard joined #lisp 2014-11-12T19:42:36Z ggole quit 2014-11-12T19:46:59Z theseb quit (Remote host closed the connection) 2014-11-12T19:52:03Z Lefeni quit (Quit: Leaving) 2014-11-12T19:53:12Z kushal quit (Ping timeout: 256 seconds) 2014-11-12T19:59:12Z pcm2718 quit (Ping timeout: 244 seconds) 2014-11-12T20:02:23Z jtza8 joined #lisp 2014-11-12T20:03:38Z tesuji quit (Ping timeout: 244 seconds) 2014-11-12T20:05:37Z lommm joined #lisp 2014-11-12T20:08:17Z slyrus quit (Ping timeout: 244 seconds) 2014-11-12T20:09:11Z bobbysmith007 joined #lisp 2014-11-12T20:10:52Z bobbysmith007: what is #0a0 or #0a1234 - it seems to be a zero dimentional non sequential array with content 12345 that cannot be accessed. Is this some quirk, or is there a valid reason for this object? 2014-11-12T20:10:58Z fantazo joined #lisp 2014-11-12T20:11:36Z stassats`: what do you mean, cannot be accessed? 2014-11-12T20:11:43Z stassats`: (aref #0a1234) => 1234 2014-11-12T20:11:54Z bobbysmith007: ahh, I guess my problem was trying to pass it an index 2014-11-12T20:12:03Z bobbysmith007: which it clearly doesnt support, not being a sequence 2014-11-12T20:12:11Z stassats`: it has no dimensions, how can it have an index 2014-11-12T20:12:22Z stassats`: it's a dot 2014-11-12T20:13:06Z slyrus joined #lisp 2014-11-12T20:13:21Z bobbysmith007: a dot in the sense that it is a single value masquerading as an array? 2014-11-12T20:13:26Z zygentoma joined #lisp 2014-11-12T20:14:00Z drewc: it is an array of rank 0 2014-11-12T20:14:26Z stassats`: bobbysmith007: sorry, point 2014-11-12T20:15:11Z drewc: bobbysmith007: http://www.lispworks.com/documentation/HyperSpec/Body/15_aac.htm 2014-11-12T20:15:42Z bobbysmith007: drewc: thanks, reading that now... anyway, I will update my type annotation to avoid looking at / looping over these guys 2014-11-12T20:17:00Z stassats`: what do you mean? 2014-11-12T20:17:11Z Grue`: i didn't even consider the possibility of 0-dimensional arrays, I guess empty product is 1, so it does make sense 2014-11-12T20:17:59Z bobbysmith007: I had never run across one, till today, where I suddently had an error in long debugged code where it was expecting that arrays are mappable (which they are not in general) 2014-11-12T20:18:19Z stassats`: they are in general 2014-11-12T20:18:35Z bobbysmith007: well type 'array is not always passable to map is more what I mean 2014-11-12T20:18:56Z stassats`: (row-major-aref #0a1234 0) => 1234 (row-major-aref #2a((1234)) 0) => 1234 2014-11-12T20:18:59Z bobbysmith007: and since I meant type '(array t 1) anyway, that will be a better typecase 2014-11-12T20:19:29Z stassats`: you mean (vector t)? 2014-11-12T20:19:57Z stassats`: i hope you do know that T represents one specific type of arrays? 2014-11-12T20:20:03Z wooden joined #lisp 2014-11-12T20:20:04Z wooden quit (Changing host) 2014-11-12T20:20:04Z wooden joined #lisp 2014-11-12T20:20:40Z bobbysmith007: Nope, just researching array type names now... I have always gotten away with array for the most part 2014-11-12T20:20:44Z drewc: Most of the time, I map (well LOOP ACROSS) vectors as that makes sense. looping across a 0 rank array does not, hence is not allowed. 2014-11-12T20:21:01Z stassats`: bobbysmith007: you probably want VECTOR 2014-11-12T20:21:18Z bobbysmith007: ok, thanks much 2014-11-12T20:21:39Z stassats`: which is the same as (array * (*)) 2014-11-12T20:21:54Z stassats`: also the same as (vector *) 2014-11-12T20:22:01Z slyrus quit (Ping timeout: 258 seconds) 2014-11-12T20:22:03Z stassats`: but (vector t) is a specialized vector 2014-11-12T20:22:24Z stassats`: and * can be omitted, so (vector *) => (vector) => vector 2014-11-12T20:22:41Z Bicyclidine joined #lisp 2014-11-12T20:22:43Z bobbysmith007: stassats`: appreciate, that clears things up a bit 2014-11-12T20:23:05Z stassats`: (vector t) is a vector that can hold anything, but only anything 2014-11-12T20:23:23Z wheelsucker joined #lisp 2014-11-12T20:23:29Z bobbysmith007: ie: not null? 2014-11-12T20:23:40Z stassats`: no, really anything 2014-11-12T20:24:00Z stassats`: (vector fixnum) can only hold fixnums, not anything, (vector t) doesn't describe that vector 2014-11-12T20:24:22Z stassats`: (vector *) describes a vector of arbitrary specialization 2014-11-12T20:25:51Z bobbysmith007: ok, I got it now, the spec adds: (vector *) refers to all vectors regardless of element type, (vector type-specifier) refers only to those vectors that can result from giving type-specifier as the :element-type argument tomake-array. 2014-11-12T20:26:11Z stassats`: your space is weird 2014-11-12T20:26:37Z fridim_ quit (Ping timeout: 240 seconds) 2014-11-12T20:26:58Z stassats`: (some of the spaces in your message are of no-break kind) 2014-11-12T20:27:34Z stassats`: bobbysmith007: portably speaking, yes 2014-11-12T20:27:54Z stassats`: it can refer to other arguments to element-type, since some are upgraded to the same thing 2014-11-12T20:28:09Z stassats`: but if you create an array with the same type and declared using the same type, you're set 2014-11-12T20:28:41Z stassats`: otherwise, (upgraded-array-element-type '(unsigned-byte 3)) => (UNSIGNED-BYTE 4) (upgraded-array-element-type '(unsigned-byte 4)) => (UNSIGNED-BYTE 4) 2014-11-12T20:29:22Z stassats`: so, (vector (unsigned-byte 3)) will actually type check a ub4 vector as well 2014-11-12T20:29:51Z stassats`: although there are some weird corners regarding upgrading and typechecking 2014-11-12T20:31:08Z bobbysmith007: yeah... array types are bit daunting I appreciate the primer 2014-11-12T20:31:23Z stassats`: because they are upgraded 2014-11-12T20:31:27Z stassats`: the same goes with COMPLEX 2014-11-12T20:31:46Z stassats`: (subtypep '(vector fixnum) '(vector t)) => NIL, even though (subtypep 'fixnum t) => T 2014-11-12T20:32:23Z stassats`: and upgrading is implementation dependent 2014-11-12T20:34:31Z paddymahoney joined #lisp 2014-11-12T20:35:25Z paddymahoney quit (Max SendQ exceeded) 2014-11-12T20:36:26Z paddymahoney joined #lisp 2014-11-12T20:37:33Z paddymahoney quit (Max SendQ exceeded) 2014-11-12T20:38:23Z paddymahoney joined #lisp 2014-11-12T20:39:07Z hiyosi joined #lisp 2014-11-12T20:39:30Z davazp quit (Ping timeout: 244 seconds) 2014-11-12T20:39:57Z paddymahoney quit (Max SendQ exceeded) 2014-11-12T20:40:55Z paddymahoney joined #lisp 2014-11-12T20:43:19Z shka quit (Quit: WeeChat 1.0.1) 2014-11-12T20:43:22Z malkomalko joined #lisp 2014-11-12T20:44:02Z malkomalko quit (Remote host closed the connection) 2014-11-12T20:44:12Z hiyosi quit (Ping timeout: 250 seconds) 2014-11-12T20:46:00Z BitPuffin quit (Ping timeout: 244 seconds) 2014-11-12T20:47:48Z Indecipherable joined #lisp 2014-11-12T20:47:57Z zickzackv_ joined #lisp 2014-11-12T20:48:58Z Grue` quit (Ping timeout: 250 seconds) 2014-11-12T20:49:38Z sheilong quit (Quit: Konversation terminated!) 2014-11-12T20:55:11Z zickzackv_ quit (Remote host closed the connection) 2014-11-12T20:55:18Z haom left #lisp 2014-11-12T20:56:03Z zickzackv_ joined #lisp 2014-11-12T20:56:09Z edgar-rft quit (Quit: connection destroyed because no activity expected) 2014-11-12T20:57:01Z zickzackv_ quit (Remote host closed the connection) 2014-11-12T20:58:00Z zickzackv_ joined #lisp 2014-11-12T20:58:07Z francogrex joined #lisp 2014-11-12T20:59:04Z schoppenhauer quit (Quit: Adé) 2014-11-12T20:59:09Z francogrex: the sbcl disassembly output for armel is more obscure than what it actually does: http://paste.lisp.org/display/144355 2014-11-12T20:59:36Z zickzackv_ quit (Remote host closed the connection) 2014-11-12T20:59:43Z stassats`: no 2014-11-12T21:00:13Z zickzackv_ joined #lisp 2014-11-12T21:01:28Z jackdaniel quit (Quit: Lost terminal) 2014-11-12T21:03:04Z madmalik joined #lisp 2014-11-12T21:03:15Z Indecipherable quit (Read error: Connection reset by peer) 2014-11-12T21:03:20Z francogrex: stassats`: BYTE #X20, #X0A, #X30, #XEE versus vadd.f32 s0, s0, s1? seriously? 2014-11-12T21:03:30Z Bicyclidine quit (Quit: Reconnecting) 2014-11-12T21:03:46Z Bicyclidine joined #lisp 2014-11-12T21:04:11Z k-stz: which xml library is recommended for just simply reading data from xmls? 2014-11-12T21:04:21Z stassats`: k-stz: cxml 2014-11-12T21:04:36Z stassats`: combining with cxml-stp is good as well 2014-11-12T21:04:55Z stassats`: francogrex: what don't you like about it? 2014-11-12T21:05:30Z wooden_ joined #lisp 2014-11-12T21:06:07Z stassats`: that some people made an arm port in their free time and didn't bother to concentrate on minor things like a complete disassembler? 2014-11-12T21:06:11Z CrazyWoods quit (Quit: leaving) 2014-11-12T21:06:35Z wooden quit (Ping timeout: 265 seconds) 2014-11-12T21:06:40Z schoppenhauer joined #lisp 2014-11-12T21:10:18Z yuikov joined #lisp 2014-11-12T21:11:55Z Grue` joined #lisp 2014-11-12T21:12:14Z francogrex: i like machine code so not an issue of liking. I know that x /ix 0x5140F3B0 => 0xee300a20 so cool from sbcl, but not intuitive for the naive/making his way 2014-11-12T21:14:29Z zickzackv quit (Quit: ZNC - http://znc.in) 2014-11-12T21:14:29Z zickzackv_ is now known as zickzackv 2014-11-12T21:14:42Z nyef: francogrex: Feel free to put together a patch for the disassembler if you want. 2014-11-12T21:14:50Z jackdaniel joined #lisp 2014-11-12T21:15:16Z jtza8 quit (Remote host closed the connection) 2014-11-12T21:17:38Z _leb joined #lisp 2014-11-12T21:17:58Z nyef: francogrex: But you can also count yourself lucky that it already works as well as it does. It wasn't the hardest part of the system to get working, but it's more than a bit twisty and getting the output right takes a bit of doing. 2014-11-12T21:19:25Z bobbysmith007: k-stz: I'll also plug for css-selectors (which contains an stp package as well) which works as a query language for cxml dom / stp 2014-11-12T21:20:09Z hiroakip joined #lisp 2014-11-12T21:21:01Z alexey joined #lisp 2014-11-12T21:23:57Z francogrex: nyef: yes it works very well and supports both armel and armhf. I especially like the fact that armel continues to be supported (while many developers have given up on it and focus solely of the armhf). 2014-11-12T21:24:37Z nyef: It should also support big-endian ARM as well, if anyone runs into such a system. 2014-11-12T21:24:40Z Petit_Dejeuner joined #lisp 2014-11-12T21:25:16Z stassats`: do we not assume that it's little endian? 2014-11-12T21:25:22Z alexey quit (Ping timeout: 250 seconds) 2014-11-12T21:25:22Z Bicyclidine quit (Ping timeout: 250 seconds) 2014-11-12T21:25:44Z nyef: stassats`: We really shouldn't be. I started with the explicit assumption that we should support both modes. 2014-11-12T21:26:32Z nyef: You'll see the conditionals in several places in the compiler backend, plus ISTR arranging for the detection to happen during make-config. 2014-11-12T21:27:53Z nyef: Do a git grep endian src/compiler/arm and you should see several hits. 2014-11-12T21:28:15Z stassats`: without actually running, i wouldn't be convinced 2014-11-12T21:28:48Z stassats`: are instruction endianness dependent? 2014-11-12T21:28:49Z nyef: I wouldn't be surprised if some of it got broken over time, but I at least went to the trouble of putting the support in there in the first place. 2014-11-12T21:29:44Z nyef: Instructions are fixed-width quantities. IIRC, that's handled by the lower-level parts of the system somehow. 2014-11-12T21:30:18Z nyef: Yeah, have a look at define-bitfield-emitter in assem.lisp. 2014-11-12T21:30:33Z nyef: Right at the bottom of the macro. 2014-11-12T21:31:16Z stassats`: so, what about all the places in the runtime where we are looking at instructions or making instructions? 2014-11-12T21:31:41Z nyef: Word-wide memory access. No endian issues there. (-: 2014-11-12T21:32:08Z stassats`: can't say i follow 2014-11-12T21:32:38Z nyef: Endian issues only happen if you're working with sub-word memory access or in terms of another system's endianness. 2014-11-12T21:32:57Z nyef: If you read a word, you get a word, regardless of if you're on a big or little endian system. 2014-11-12T21:33:10Z stassats`: right, ok 2014-11-12T21:33:15Z patric quit (Ping timeout: 272 seconds) 2014-11-12T21:33:16Z DGASAU quit (Remote host closed the connection) 2014-11-12T21:33:35Z nyef: If you read a byte at the same address as a word, you get either the MSB, the LSB, or one of the middle bytes, depending on if the system is big, little, or mixed endian. 2014-11-12T21:34:17Z nyef: So as long as the runtime operates in terms of words when it's doing instruction hacking, it's "safe". 2014-11-12T21:34:47Z DGASAU joined #lisp 2014-11-12T21:36:08Z nyef: And our various tagged trampolines are all implemented using displaced labels and full-word headers, unlike SPARC, so they should be okay as well. 2014-11-12T21:36:36Z stassats`: we should move them into assembly routines 2014-11-12T21:36:47Z Bicyclidine joined #lisp 2014-11-12T21:37:15Z k-stz quit (Remote host closed the connection) 2014-11-12T21:37:39Z nyef: No argument there, but I haven't bothered extracting and forward-porting the required changes from when I first laid them out. 2014-11-12T21:38:09Z Kanae quit (Ping timeout: 245 seconds) 2014-11-12T21:40:09Z nyef: Part of the issue is making it so that undefined_tramp is still usable to create fdefns in genesis, or that any un-set fdefns get initialized correctly after the fact. 2014-11-12T21:40:39Z patric joined #lisp 2014-11-12T21:41:23Z nyef: To give you a hint as to the timeline for when I worked this out, it was for my SBCL-os hack where I was running a very stripped down SBCL core on bare metal without a runtime or OS kernel. 2014-11-12T21:43:18Z nyef: Early 2k8, it looks like. 2014-11-12T21:47:00Z _leb quit (Quit: Computer has gone to sleep.) 2014-11-12T21:52:41Z olaversl joined #lisp 2014-11-12T21:52:59Z olaversl left #lisp 2014-11-12T21:53:10Z slyrus joined #lisp 2014-11-12T21:53:23Z InvalidCo: hrm 2014-11-12T21:54:27Z octophore_ joined #lisp 2014-11-12T21:54:28Z octophore_ quit (Excess Flood) 2014-11-12T21:55:10Z octophore_ joined #lisp 2014-11-12T21:55:11Z octophore_ quit (Excess Flood) 2014-11-12T21:55:57Z octophore_ joined #lisp 2014-11-12T21:55:58Z octophore_ quit (Excess Flood) 2014-11-12T21:56:18Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-12T21:56:55Z ndrei quit (Ping timeout: 250 seconds) 2014-11-12T21:57:19Z octophore_ joined #lisp 2014-11-12T21:57:20Z octophore_ quit (Excess Flood) 2014-11-12T21:57:31Z octophore quit (Ping timeout: 244 seconds) 2014-11-12T21:57:56Z stassats`: having sb-dynamic-core working on ARM would really help with things like getting threads 2014-11-12T21:58:00Z Shinmera joined #lisp 2014-11-12T21:59:14Z octophore joined #lisp 2014-11-12T21:59:15Z octophore quit (Excess Flood) 2014-11-12T21:59:17Z munksgaard joined #lisp 2014-11-12T22:01:27Z octophore joined #lisp 2014-11-12T22:01:28Z octophore quit (Excess Flood) 2014-11-12T22:01:51Z nyef: So would having an additional register. Do you think there's any chance that we can free up reg_CODE if we're willing to pay the heap space search to recover it during GC operations? 2014-11-12T22:02:28Z paddymahoney quit (Ping timeout: 244 seconds) 2014-11-12T22:03:10Z octophore joined #lisp 2014-11-12T22:03:11Z octophore quit (Excess Flood) 2014-11-12T22:03:29Z miql quit (Ping timeout: 264 seconds) 2014-11-12T22:04:00Z octophore joined #lisp 2014-11-12T22:04:01Z octophore quit (Excess Flood) 2014-11-12T22:04:39Z paddymahoney joined #lisp 2014-11-12T22:04:41Z nyef: If I have the time soon, or I get fed up with what I'm working on and need a break, I'll see about putting together a build-time option for putting trampolines in read-only space. It'll have to be an option, though, because otherwise it would drastically affect a couple of platforms that do crazy things with them already and that we can't easily test right now. 2014-11-12T22:05:06Z stassats`: what about just ppc and arm? 2014-11-12T22:05:12Z octophore joined #lisp 2014-11-12T22:05:13Z octophore quit (Excess Flood) 2014-11-12T22:05:21Z mrSpec quit (Read error: No route to host) 2014-11-12T22:06:37Z ejbs quit (Ping timeout: 240 seconds) 2014-11-12T22:06:38Z octophore joined #lisp 2014-11-12T22:06:40Z octophore quit (Excess Flood) 2014-11-12T22:06:43Z nyef: That would count as an "option". 2014-11-12T22:06:49Z mrSpec joined #lisp 2014-11-12T22:07:04Z nyef: Hell, I should be able to test SPARC myself in about a week. 2014-11-12T22:08:39Z leb joined #lisp 2014-11-12T22:11:44Z mrSpec quit (Ping timeout: 250 seconds) 2014-11-12T22:13:12Z miql joined #lisp 2014-11-12T22:13:34Z vowyer_ joined #lisp 2014-11-12T22:18:34Z loz quit (Ping timeout: 245 seconds) 2014-11-12T22:19:39Z mrSpec joined #lisp 2014-11-12T22:20:28Z zygentoma quit (Ping timeout: 258 seconds) 2014-11-12T22:25:35Z LoicLisp quit (Remote host closed the connection) 2014-11-12T22:28:40Z hiyosi joined #lisp 2014-11-12T22:33:19Z hiyosi quit (Ping timeout: 250 seconds) 2014-11-12T22:33:41Z dfox quit (Ping timeout: 244 seconds) 2014-11-12T22:36:42Z zygentoma joined #lisp 2014-11-12T22:40:21Z EvW quit (Ping timeout: 265 seconds) 2014-11-12T22:44:10Z BitPuffin joined #lisp 2014-11-12T22:44:13Z fikusz quit (Remote host closed the connection) 2014-11-12T22:45:25Z wheelsucker quit (Quit: Client Quit) 2014-11-12T22:46:15Z fikusz joined #lisp 2014-11-12T22:49:32Z miql quit (Ping timeout: 265 seconds) 2014-11-12T22:51:29Z slyrus quit (Ping timeout: 264 seconds) 2014-11-12T22:52:12Z fragamus joined #lisp 2014-11-12T22:52:17Z Bicyclidine quit (Ping timeout: 258 seconds) 2014-11-12T22:52:37Z mguzmann quit (Ping timeout: 255 seconds) 2014-11-12T22:55:21Z Indecipherable joined #lisp 2014-11-12T23:01:09Z Ethan- joined #lisp 2014-11-12T23:03:08Z Bicyclidine joined #lisp 2014-11-12T23:04:05Z oleo__ joined #lisp 2014-11-12T23:04:41Z oleo is now known as Guest71941 2014-11-12T23:05:11Z Ryan_Burnside joined #lisp 2014-11-12T23:05:17Z Guest71941 quit (Ping timeout: 245 seconds) 2014-11-12T23:05:47Z vaporatorius quit (Quit: Leaving) 2014-11-12T23:06:22Z Ryan_Burnside quit (Client Quit) 2014-11-12T23:06:23Z ryan__ joined #lisp 2014-11-12T23:06:38Z stassats` quit (Ping timeout: 255 seconds) 2014-11-12T23:06:44Z miql joined #lisp 2014-11-12T23:06:58Z ryan__ quit (Client Quit) 2014-11-12T23:07:19Z dfox joined #lisp 2014-11-12T23:09:29Z Sgeo_ quit (Ping timeout: 264 seconds) 2014-11-12T23:11:18Z bsima quit (Quit: Leaving.) 2014-11-12T23:13:17Z Sgeo joined #lisp 2014-11-12T23:15:53Z corni joined #lisp 2014-11-12T23:15:53Z corni quit (Changing host) 2014-11-12T23:15:53Z corni joined #lisp 2014-11-12T23:17:31Z lavokad joined #lisp 2014-11-12T23:17:53Z bgs100 joined #lisp 2014-11-12T23:19:08Z vowyer_ quit (Quit: C-x C-c) 2014-11-12T23:21:55Z alexey joined #lisp 2014-11-12T23:22:57Z lavokad quit (Remote host closed the connection) 2014-11-12T23:23:20Z lavokad joined #lisp 2014-11-12T23:25:48Z TDog joined #lisp 2014-11-12T23:26:07Z alexey quit (Ping timeout: 245 seconds) 2014-11-12T23:26:30Z Ryan_Burnside joined #lisp 2014-11-12T23:27:08Z Ryan_Burnside: Hello all, has anyone had a chance to try the Allegro library bindings for CL? 2014-11-12T23:27:57Z Petit_Dejeuner: These? http://allegro5.org/ I haven't, but I'd be interested to hear about them. 2014-11-12T23:29:08Z slyrus joined #lisp 2014-11-12T23:29:45Z Ryan_Burnside: I think that may be the same as listed here not sure... 2014-11-12T23:29:46Z Ryan_Burnside: http://alleg.sourceforge.net/bindings.html 2014-11-12T23:30:06Z Ryan_Burnside: I just never really got along with SDL myself. 2014-11-12T23:31:02Z nha joined #lisp 2014-11-12T23:31:52Z munksgaard quit (Ping timeout: 240 seconds) 2014-11-12T23:34:19Z Longlius joined #lisp 2014-11-12T23:34:23Z wooden_ quit (Ping timeout: 240 seconds) 2014-11-12T23:35:39Z Shinmera quit (Quit: しつれいしなければならないんです。) 2014-11-12T23:35:39Z henesy joined #lisp 2014-11-12T23:35:48Z leb quit (Quit: Computer has gone to sleep.) 2014-11-12T23:36:00Z mrSpec quit (Remote host closed the connection) 2014-11-12T23:36:03Z hiyosi joined #lisp 2014-11-12T23:37:06Z slyrus_ joined #lisp 2014-11-12T23:38:24Z slyrus quit (Ping timeout: 250 seconds) 2014-11-12T23:38:53Z henesy quit (Client Quit) 2014-11-12T23:39:09Z slyrus_ is now known as slyrus 2014-11-12T23:39:46Z bsima joined #lisp 2014-11-12T23:40:08Z henesy joined #lisp 2014-11-12T23:41:23Z paddymahoney quit (Ping timeout: 240 seconds) 2014-11-12T23:42:53Z Indecipherable quit (Ping timeout: 240 seconds) 2014-11-12T23:43:34Z attila_lendvai quit (Quit: Leaving.) 2014-11-12T23:47:15Z stepnem quit (Ping timeout: 264 seconds) 2014-11-12T23:50:30Z defaultxr joined #lisp 2014-11-12T23:53:24Z Indecipherable joined #lisp 2014-11-12T23:58:17Z Indecipherable quit (Read error: Connection reset by peer) 2014-11-12T23:59:06Z zRecursive joined #lisp 2014-11-12T23:59:18Z urandom__ quit (Quit: Konversation terminated!) 2014-11-12T23:59:49Z eazar001 quit (Quit: WeeChat 1.0.1)