Those forms won't be in the namespace you're evaluating?

Yeah, it's probably a lot of work, but it sounds neat.  :-)


On Thursday, August 29, 2013 9:07:26 AM UTC-5, Ambrose Bonnaire-Sergeant 
wrote:
>
> I don't think it would be possible to reconstruct the original forms in 
> general, you would need to reverse macroexpansion to provide a form that 
> has at least a passing familiarity with the original form. Otherwise you 
> would get fully macroexpanded forms.
>
> That's a lot of work!
>
>
> On Thu, Aug 29, 2013 at 9:56 PM, Daniel <double...@gmail.com <javascript:>
> > wrote:
>
>> If you can do that, why not return the literal representation of the type 
>> hinted function?
>>
>> For the repl you could provide a function that interns the type-hinted 
>> function into the namespace by evaluating the literal representation first.
>>
>> From there it's easy to provide something like slamhound.  Once you're 
>> certain types have been provided to your namespace correctly at the repl, 
>> run 'lein type <namespace>' to type hint everything in the namespace by 
>> literally restructuring the file.
>>
>> Things type hinted with expressions would be tricky, but this could work 
>> (or you could just leave it alone):
>>
>> myfn (original)
>> myfn-int
>> myfn-long
>> myfn-float
>> etc....
>>
>>
>>
>> On Thursday, August 29, 2013 6:40:16 AM UTC-5, Ambrose Bonnaire-Sergeant 
>> wrote:
>>
>>> With Clojure the lines blur between compile time and runtime.
>>>
>>> The clearest way to put it is that type checking is explicitly called at 
>>> the REPL or in a unit test. Usually this is done during development 
>>> iterations or testing time.
>>>
>>> Re: performance improvements: Michael is correct. Interestingly Typed 
>>> Racket offers numeric optimisations, but leans heavily on Racket's 
>>> metaprogramming facilities to insert them automatically. There's potential 
>>> in Typed Clojure for *identification* of speed improvements, but not 
>>> actually inserting them. Typed Racket's "optimisation coach" comes to mind 
>>> in ways we can present this information ("put a type hint at line 10, col 
>>> 20 to get full speed...").
>>>
>>> Thanks,
>>> Ambrose
>>>
>>>
>>> On Thu, Aug 29, 2013 at 6:03 PM, Christian Sperandio <
>>> christian...@gmail.com**> wrote:
>>>
>>>> Ok...
>>>>
>>>> Another question, the checking is done only once (while compiling) ? 
>>>> Or, it's done while the runtime?
>>>>
>>>>
>>>>
>>>> 2013/8/29 Michael Klishin <michael....@gmail.com>
>>>>
>>>>> 2013/8/29 Christian Sperandio <christian...@gmail.com**>
>>>>>
>>>>> Is there any perf improvement to use static typing in Clojure?
>>>>>
>>>>>
>>>>>  core.typed is not a compiler, it's a type annotation/checker 
>>>>> implemented
>>>>> as a library.
>>>>>
>>>>> If you are familiar with Erlang, it is to Clojure what Dialyzer is to 
>>>>> Erlang.
>>>>> -- 
>>>>> MK
>>>>>
>>>>> http://github.com/**michaelklishin <http://github.com/michaelklishin>
>>>>> http://twitter.com/**michaelklishin<http://twitter.com/michaelklishin>
>>>>>  
>>>>> -- 
>>>>> -- 
>>>>> 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<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<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 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<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<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 clo...@googlegroups.com<javascript:>
>> 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 <javascript:>
>> 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 <javascript:>.
>> 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