2016-03-03T00:00:21Z JitanRo_ joined #lisp 2016-03-03T00:00:54Z phoe_krk joined #lisp 2016-03-03T00:03:12Z JitanRo quit (Ping timeout: 260 seconds) 2016-03-03T00:03:56Z briantrice joined #lisp 2016-03-03T00:06:36Z Don_John joined #lisp 2016-03-03T00:08:42Z dfg_: any of you guys have experience with vau/fexppr? better/worse? 2016-03-03T00:08:50Z dfg_: pro/cons? 2016-03-03T00:09:15Z Bicyclidine: yes. they're kind of nice but they make it very hard to do compilation. and they're offtopic. 2016-03-03T00:09:33Z phoe_krk quit (Quit: (let ((hue (let ((hue :hue)) (flet ((hue (hue) hue)) `(hue "hue" hue ,(hue '(hue hue)) ,(hue hue)))))) (flet ((hue (hue) `(hue :hue ,hue "hue"))) (hue hue)))) 2016-03-03T00:09:42Z dfg_: can you actually make them via macros 2016-03-03T00:10:25Z Bicyclidine: sort of. 2016-03-03T00:10:28Z Bicyclidine quit (Quit: bus) 2016-03-03T00:12:01Z drdo quit (Ping timeout: 240 seconds) 2016-03-03T00:15:54Z asdfa joined #lisp 2016-03-03T00:16:04Z asdfa quit (Read error: Connection reset by peer) 2016-03-03T00:16:16Z csziacobus joined #lisp 2016-03-03T00:17:01Z lisse quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2016-03-03T00:18:33Z scymtym_ quit (Ping timeout: 244 seconds) 2016-03-03T00:22:44Z Don_John quit (Read error: Connection reset by peer) 2016-03-03T00:27:33Z Yuuhi quit (Remote host closed the connection) 2016-03-03T00:27:40Z lisse joined #lisp 2016-03-03T00:28:51Z _sjs quit (Ping timeout: 248 seconds) 2016-03-03T00:33:24Z lisse quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) 2016-03-03T00:33:29Z huitzilopochtli quit (Quit: Leaving) 2016-03-03T00:35:54Z asdfa joined #lisp 2016-03-03T00:36:04Z asdfa quit (Read error: Connection reset by peer) 2016-03-03T00:36:49Z Blkt_ quit (Ping timeout: 260 seconds) 2016-03-03T00:36:55Z Blkt joined #lisp 2016-03-03T00:37:29Z drdo joined #lisp 2016-03-03T00:38:22Z varjagg quit (Ping timeout: 248 seconds) 2016-03-03T00:40:03Z Khisanth quit (Ping timeout: 248 seconds) 2016-03-03T00:45:18Z slyrus quit (Ping timeout: 248 seconds) 2016-03-03T00:47:47Z deepestblue quit (Quit: Leaving) 2016-03-03T00:47:57Z tessier quit (Ping timeout: 268 seconds) 2016-03-03T00:49:51Z Xach joined #lisp 2016-03-03T00:50:19Z Xach_ quit (Ping timeout: 252 seconds) 2016-03-03T00:50:38Z pillton: dfg_: http://www.nhplace.com/kent/Papers/Special-Forms.html 2016-03-03T00:51:07Z Bike: i mean, you'd have (defmacro whatever (&rest args) `(apply #'%whatever ',args)) (defun %whatever ...) 2016-03-03T00:52:20Z fiddlerwoaroof quit (Quit: Gone.) 2016-03-03T00:53:25Z tessier joined #lisp 2016-03-03T00:53:47Z Khisanth joined #lisp 2016-03-03T00:55:53Z asdfa joined #lisp 2016-03-03T00:56:02Z dfg_: Its just not the same though, the lambda that apply returns still evaluates the arguments. 2016-03-03T00:56:04Z asdfa quit (Read error: Connection reset by peer) 2016-03-03T00:56:10Z dfg_: reading this atm http://gliese1337.blogspot.com/2012/04/schrodingers-equation-of-software.html 2016-03-03T00:56:18Z dfg_: seems legit 2016-03-03T00:57:12Z Bike: the... lambda? what? no. 2016-03-03T00:57:42Z dfg_: thats how apply works right, 2016-03-03T00:57:45Z dfg_: it creates a lambda 2016-03-03T00:57:54Z Bike: no. what. 2016-03-03T00:58:11Z Bike: anyway, here's an example. (defmacro list-vau (&rest args) `(apply #'list ',args)) => (list-vau a b c) => (A B C) 2016-03-03T01:00:20Z Bike: of course, it's not quite like a fexpr since you can't pass it around and such 2016-03-03T01:00:47Z Karl_Dscc quit (Remote host closed the connection) 2016-03-03T01:03:15Z karswell joined #lisp 2016-03-03T01:04:47Z sondr3 joined #lisp 2016-03-03T01:05:40Z dfg_: thats what im referring to, cant nest those list-vaus. because apply returns a lambda that fills in the arguments to the function when its called. 2016-03-03T01:05:46Z dfg_: so applying to that lambda does nothing 2016-03-03T01:06:09Z Bike: it doesn't "return a lambda", what the hell 2016-03-03T01:06:21Z Bike: you can't pass it around because it's a macro, that's all. 2016-03-03T01:06:32Z Heranort joined #lisp 2016-03-03T01:06:45Z lacedaemon is now known as fe[nl]ix 2016-03-03T01:07:34Z Bike: and i don't know what you mean by nesting, (list-vau (list-vau 4 5) b) => ((LIST-VAU 4 5) B) 2016-03-03T01:09:50Z dfg_: isnt list itself a macro 2016-03-03T01:09:58Z dfg_: but yea your right 2016-03-03T01:10:09Z Bike: list is certainly not a macro. 2016-03-03T01:10:41Z _sjs joined #lisp 2016-03-03T01:11:36Z zacharias quit (Read error: Connection reset by peer) 2016-03-03T01:11:42Z zacharias_ joined #lisp 2016-03-03T01:13:18Z EvW quit (Ping timeout: 244 seconds) 2016-03-03T01:13:52Z harish_ quit (Ping timeout: 244 seconds) 2016-03-03T01:15:55Z asdfa joined #lisp 2016-03-03T01:16:05Z asdfa quit (Read error: Connection reset by peer) 2016-03-03T01:17:53Z karswell quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2016-03-03T01:20:17Z Heranort quit (Remote host closed the connection) 2016-03-03T01:20:22Z karswell joined #lisp 2016-03-03T01:22:11Z kenanb quit (Ping timeout: 248 seconds) 2016-03-03T01:22:19Z Heranort joined #lisp 2016-03-03T01:22:24Z jason_m joined #lisp 2016-03-03T01:26:35Z Heranort quit (Ping timeout: 250 seconds) 2016-03-03T01:26:46Z Don_John joined #lisp 2016-03-03T01:29:16Z Heranort joined #lisp 2016-03-03T01:30:14Z ryan_vw joined #lisp 2016-03-03T01:30:59Z jason_m: This seems like a lisp 101 question, but i'm suprised by the result of evaluating: (let ((x 1)) ((lambda (y) (incf y) (print y)) x) (print x)) 2016-03-03T01:31:18Z Bike: 2 1? 2016-03-03T01:31:24Z jason_m: yes 2016-03-03T01:31:28Z jason_m: i was expecting 2 2 2016-03-03T01:31:58Z Bike: Right. You're thinking of incf as affecting the number. It does not, it just changes the binding, which in this case is the binding of y to 1. 2016-03-03T01:31:59Z jason_m: a value being created in the let, bound to x, that value being passed into the lambda, bound to y, modified, and reflected in the form after the lambda 2016-03-03T01:32:22Z jason_m: "changes the binding" - that's what i was not expecting 2016-03-03T01:32:31Z Bike: incf does not affect values. in point of fact there is no way to change a numerical value. 2016-03-03T01:32:43Z Bike: 4s are 4s forever. 2016-03-03T01:32:50Z jason_m: i see 2016-03-03T01:32:54Z pillton: clhs 3.1.2.1.2.4 2016-03-03T01:32:54Z specbot: Lambda Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_ababd.htm 2016-03-03T01:33:12Z pillton: "A lambda form is equivalent to using funcall of a lexical closure of the lambda expression on the given arguments." 2016-03-03T01:33:38Z Bike: i don't think that is a point of confusion 2016-03-03T01:34:32Z jason_m: right, it's the behavior of incf and how values are represented. 2016-03-03T01:35:41Z CEnnis91 quit (Quit: Connection closed for inactivity) 2016-03-03T01:35:44Z jason_m: i get it, the value 1 is 1. incrementing it creates a new value (2), and updates the binding in the current context 2016-03-03T01:35:52Z asdfa joined #lisp 2016-03-03T01:36:05Z asdfa quit (Read error: Connection reset by peer) 2016-03-03T01:36:19Z pillton: Bike: I thought it was the introduction of the lambda form that obscured the bindings. 2016-03-03T01:36:22Z Bike: try (macroexpand-1 '(incf x)) 2016-03-03T01:36:59Z Bike: pillton: jason is doing the common thing of getting confused about when and how values are actually mutated, that's all 2016-03-03T01:37:22Z pillton: Bike: Sure. No worries. I just read the issue differently. 2016-03-03T01:37:51Z pillton: Numbers are immutable; even complex numbers (which I found weird at first). 2016-03-03T01:38:58Z jason_m: So should I understand any setq as changing the binding, not the value? 2016-03-03T01:39:14Z pillton: Yes. 2016-03-03T01:39:39Z jason_m: makes sense. i should have thought about that harder 2016-03-03T01:40:58Z kenanb joined #lisp 2016-03-03T01:42:51Z lisse joined #lisp 2016-03-03T01:43:09Z Guest1178 quit (Read error: Connection reset by peer) 2016-03-03T01:44:46Z kenanb left #lisp 2016-03-03T01:45:37Z kenanb joined #lisp 2016-03-03T01:52:43Z fiddlerwoaroof joined #lisp 2016-03-03T01:55:00Z FreeBirdLjj joined #lisp 2016-03-03T01:55:56Z asdfa joined #lisp 2016-03-03T01:56:05Z asdfa quit (Read error: Connection reset by peer) 2016-03-03T01:56:20Z FreeBirdLjj quit (Remote host closed the connection) 2016-03-03T01:56:57Z FreeBirdLjj joined #lisp 2016-03-03T01:57:04Z myrkraverk quit (Remote host closed the connection) 2016-03-03T01:58:25Z myrkraverk joined #lisp 2016-03-03T02:06:11Z nell quit (Quit: WeeChat 1.4) 2016-03-03T02:10:00Z UtkarshRay joined #lisp 2016-03-03T02:10:10Z norfumpit quit (Ping timeout: 244 seconds) 2016-03-03T02:10:52Z findiggl` joined #lisp 2016-03-03T02:12:47Z norfumpit joined #lisp 2016-03-03T02:13:04Z findiggle quit (Remote host closed the connection)