Thanks for that link, I loved this tutorial!

On Saturday, August 10, 2013 3:13:52 PM UTC-3, Jacob Goodson wrote:
>
> Here is where I started... 
> http://www.lisperati.com/clojure-spels/casting.html
>
> I personally disagree about being so timid with macros, however, I do not 
> code Clojure with a team of other people =P.
>
> The one thing you will find about Clojure is that it slaps a limit on the 
> types of macros you can do.  This limit does not necessarily stop you from 
> creating amazing things with macros but it is there.  So of the macros that 
> you will find in these LISP SPEL books will not be easily recreated in the 
> hampered(pampered?) Clojure language.  Clojure was meant to be a more 
> corporate friendly, pragmatic language; thus, no reader macros.
>
> On Friday, August 9, 2013 6:21:02 PM UTC-4, Jace Bennett wrote:
>>
>> Thanks everyone. Good stuff.
>>
>> I have Let over Lambda, but I didn't glean what I wanted from it (or 
>> probably even what it wanted from me). I'll pick up On Lisp. I didn't 
>> realize it was focused on macros.
>>
>> Also, I think Luca has given me a clue. I used code gen techniques long 
>> before I started using reflection based techniques. Macros are more like 
>> code gen, so I'll think back to those techniques, and search for analogues 
>> and maybe even epiphanies. I think I had the ideas of dynamism and DRY 
>> complected (sorry, had to). The dynamism will obviously require state. The 
>> DRY shouldn't. But in C# I've usually gone dynamic to get dry.
>>
>> Out of curiousity, where do the defs go? Could one iterate over all the 
>> vars in the runtime environment? Would I just get pointers to native code?
>>
>>
>> On Fri, Aug 9, 2013 at 1:04 PM, Andrew Stine <illumin...@gmail.com>wrote:
>>
>>> The difficulty with On Lisp when applied to Clojure is that the specific 
>>> macros On Lisp demonstrates either depend on state, which Clojure avoids, 
>>> or are already present in Clojure core. (if-let is a big one in my book.) 
>>> Some of them also run into conflicts with Clojure implicit gensyming. I 
>>> don't suggest it for the specific macros it demonstrates, but because it 
>>> demonstrates very clearly what they are for, why and where you would use 
>>> them, and how, in general, they are used. I also don't write macro much 
>>> anymore in Clojure but that's mostly because Clojure has a few macros 
>>> already which handle most of the things I would do with them in Common Lisp.
>>>
>>>
>>> On Friday, August 9, 2013 11:13:44 AM UTC-4, Lee wrote:
>>>>
>>>>
>>>> On Aug 9, 2013, at 11:01 AM, Andrew Stine wrote: 
>>>>
>>>> > For a pretty decent cover of when and how to use macros, On Lisp[1] 
>>>> is a pretty good book. It's written mainly for Common Lisp but most of it 
>>>> translates to Clojure well enough. I find that for common code, writing 
>>>> macros isn't so useful as most of the goods ones are already part of 
>>>> clojure.core. But if you ever find yourself in the position where you'd 
>>>> really like to have a control structure just for your program, or 
>>>> introduce 
>>>> a compile-time code generator, or subtly add a new paradigm to the 
>>>> language, a macro is your ticket. 
>>>> > 
>>>> > 1. http://code.google.com/p/**onlisp/<http://code.google.com/p/onlisp/> 
>>>>
>>>> I think that On Lisp is completely awesome -- one of the best technical 
>>>> books of any kind that I've ever read. 
>>>>
>>>> However, my recollection is that the macro stuff, in particular, 
>>>> doesn't translate so well to Clojure because the differences between 
>>>> Common 
>>>> Lisp and Clojure macros are pretty fundamental. Or at least that has been 
>>>> my impression.... and I mostly stopped writing macros when I switched from 
>>>> Common Lisp to Clojure because I found the differences confusing. Your 
>>>> experience may be different but I thought that a warning might be in 
>>>> order. 
>>>>
>>>>  -Lee 
>>>>
>>>>
>>>>
>>>>  -- 
>>> -- 
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to clojure+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>  
>>>  
>>>
>>
>>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to