*    I use this to think about inter&intra type relationships -- and wrote 
it above,  ymmv   ymwv!*

*          read{T<:Scope}(scope::T{Tektronix}) = ...*

     


On Sunday, March 27, 2016 at 7:21:19 PM UTC-4, Jeffrey Sarnoff wrote:
>
> Glad to know you are up to speed ... 
> Try this in v0.4 and in v0.5-dev: length( methods(Base.call) )   v0.4 
> gives 1000, v0.5 gives 1 (deprecated)
> So, Julia is known to work with 1000-fold signatured methods.  The fact 
> that v0.5 is better groomed suggests its worthwhile to consider approaching 
> your same outcome more parsimoniously or with greater subspecificity .. 
> lifting some largely clustered highly overlapping signature-driven doings 
> and letting ... all the oscilloscopes be so scoped, all the multimeters be 
> multiply metered ... so what you think about as a single method with 
> signatures everywhichway, is realized as subspecializations of a 
> [partially] shared abstractions.
>
> abstract Device
> abstract Scope <: Device
> abstract Meter <: Device
>
> @enum vendor Tektronix, Fluke
>
> type LogicAnalyzer{vendor} <: Scope
>      ...
> end
>
> type Multimeter{vendor} <: Meter
>      ...
> end
>
> TLA7000    = LogicAnalyzer{Tektronix}( ... )
> Hydra2638A = Mutimeter{Fluke}( ... )
>
> handshake{T<:Device}(anyDevice::T) = ...
> read{T<:Scope}(scope::T) = ..
> read{T<:Scope}(scope::T{Tektronix}) = ..
>
> read{T<:Meter}(meter::T) = ..
>
>
> On Sunday, March 27, 2016 at 6:03:11 PM UTC-4, Oliver Schulz wrote:
>>
>> Hi Jeffrey,
>>
>> On Sunday, March 27, 2016 at 3:51:18 PM UTC+2, Jeffrey Sarnoff wrote:
>>>
>>> Assuming your handshaking and signal management is keeping information 
>>> available in some easy to discern and decode manner and you are not pushing 
>>> latency issues, Julia should be a good platform for that.
>>>
>>
>> I have no doubt of that. :-) Both in terms of execution speed, and other 
>> features (native coroutines, etc.) Julia is an excellent platform for this. 
>> I used to do this in Scala (using Akka actors), which was fine, but I 
>> believe it can be done even better in Julia (at least given certain 
>> requirements and boundary conditions).
>>  
>>
>>>  Compilation time usually is not a concern -- and you can make your 
>>> package autoprecompile [...] pay attention to the general guidelines here  
>>> performance 
>>> tips <http://docs.julialang.org/en/release-0.4/manual/performance-tips/>  
>>> [...] and use the Devectorize package 
>>> <https://github.com/lindahua/Devectorize.jl>
>>>
>>
>> Yes, I will certainly use precompilation as far as possible (well, not 
>> for actual user measurements scripts, etc. but for the device 
>> implementations), and I am familiar with the Julia performance tips and 
>> memory management recommendations. My question rather revolved around 
>> whether Julia's dispatch will be happy with O(1000) (or more) methods for a 
>> functions.
>>
>>

Reply via email to