Great!  This will allow me to include the SJulia REPL in the SJulia package 
(IIUC), so that one doesn't need to build a fork of Julia. --John

El lunes, 20 de abril de 2015, 23:14:31 (UTC+2), Keno Fischer escribió:
>
> The REPL code was designed to have new modes added externally. See e.g. 
> the RunCxxREPL function here: 
> https://github.com/Keno/Cxx.jl/blob/master/src/CxxREPL/replpane.jl
>
> On Mon, Apr 20, 2015 at 5:04 PM, <[email protected] <javascript:>> 
> wrote:
>
>> I think it would be great to submit the REPL mod, but it is not 
>> acceptable as it is, although, for the most part, it is pretty solid. 
>> Currently, a period as the first character switches both in and out of 
>> SJulia mode. Some advice from the REPL authors would be useful. I was not 
>> able to implement switching out of SJulia with backspace, you have to type 
>> the period again. Also, the mod introduces a bug that causes Julia to crash 
>> when greek symbols are entered in a certain context, even in normal Julia 
>> mode. I am not able to get command line completion to work in a clean way 
>> in SJulia. As Marcus suggested, making a general facility for passing input 
>> through a macro seems like the way to go. It probably would not be too hard 
>> for someone who understands the REPL code. I might find time to do it, with 
>> some help.
>>
>> --John
>>
>> El lunes, 20 de abril de 2015, 20:08:17 (UTC+2), Viral Shah escribió:
>>>
>>> It would be great to have the REPL.jl fork submitted as a PR. Even if it 
>>> is not accepted, something good will certainly come out of it. 
>>>
>>> -viral 
>>>
>>>
>>>
>>> > On 20-Apr-2015, at 11:34 pm, Marcus Appelros <[email protected]> 
>>> wrote: 
>>> > 
>>> > Currently some modifications to REPL.jl are needed, there is a fork 
>>> > made which does exactly that. 
>>> > 
>>> > Am trying to test some of the examples in the SJulia readme, keep in 
>>> > mind that this is on a old sourcebuilt 0.4 master. 
>>> > 
>>> > ``` 
>>> > julia> m= @ex Expand((a+b)^10) 
>>> > Expand((a + b) ^ 10) 
>>> > 
>>> > julia> m[2] 
>>> > ERROR: BoundsError() 
>>> > in getindex at /home/quin/SJulia/src/mxpr_type.jl:267 
>>> > ``` 
>>> > 
>>> > Apparently the only method found is: 
>>> > 
>>> > ``` 
>>> > julia> t= @ex (a+b)^10 
>>> > (a + b) ^ 10 
>>> > 
>>> > julia> typeof(t) 
>>> > Mxpr{Power} 
>>> > 
>>> > julia> tt=SJulia.mxpr(:Expand,t) 
>>> > Expand((a + b) ^ 10) 
>>> > 
>>> > julia> ttt=typeof(tt) 
>>> > Mxpr{Expand} 
>>> > 
>>> > julia> methods(SJulia.apprules,(ttt,)) 
>>> > 1-element Array{Any,1}: 
>>> > apprules(x) at /home/quin/SJulia/src/apprules.jl:9 
>>> > ``` 
>>> > 
>>> > Which is set to equal x. Also there's this: 
>>> > 
>>> > ``` 
>>> > julia> function f(n);@ex Expand((a+b)^n);end 
>>> > f (generic function with 1 method) 
>>> > 
>>> > julia> f(3) 
>>> > Expand((a + b) ^ n) 
>>> > ``` 
>>> > 
>>> > The Fibbonacci example does work. 
>>> > 
>>> > On 20 April 2015 at 19:14, Viral Shah <[email protected]> wrote: 
>>> >> Would it be possible to install SJulia as a Julia package, and switch 
>>> >> between SJulia and Julia - kind of like how we have the help> and the 
>>> shell> 
>>> >> prompts, which can be activated with ? and ; 
>>> >> 
>>> >> -viral 
>>> >> 
>>> >> 
>>> >> On Monday, April 20, 2015 at 5:46:08 PM UTC+5:30, 
>>> [email protected] 
>>> >> wrote: 
>>> >>> 
>>> >>> Here is SJulia 
>>> >>> 
>>> >>> https://github.com/jlapeyre/SJulia 
>>> >>> 
>>> >>> sjulia> f = (x^y + y^z + z^x)^3 
>>> >>> (x ^ y + y ^ z + z ^ x) ^ 3 
>>> >>> 
>>> >>> sjulia> f = (x^y + y^z)^3 
>>> >>> (x ^ y + y ^ z) ^ 3 
>>> >>> 
>>> >>> sjulia> g = Expand(f) 
>>> >>> x ^ (3 * y) + 3 * (x ^ (2 * y)) * (y ^ z) + 3 * (x ^ y) * (y ^ (2 * 
>>> z)) + 
>>> >>> y ^ (3 * z) 
>>> >>> 
>>> >>> SJulia is very close in spirit to Mathematica (Wolfram). This is 
>>> more or 
>>> >>> less a language written in Julia, 
>>> >>> although it can be made to communicate well with Julia. From the 
>>> user's 
>>> >>> perspective, there are advantages and disadvantages to 
>>> >>> implementing symbolic capability as an extension to languages like 
>>> Julia 
>>> >>> or Python rather than as 
>>> >>> another language. I think it is possible to have a language that 
>>> supports 
>>> >>> both. 
>>> >>> 
>>> >>> Also, CAS can describe various software tools that are designed to 
>>> do very 
>>> >>> different things. For instance, a CAS may  be intended to implement 
>>> more or 
>>> >>> less mathematical rigor. It may have a hierarchy of computer 
>>> language types 
>>> >>> meant to represent mathematical objects. Or 
>>> >>> it may (like Mathematica, Maple, and Maxima) be based on 
>>> 'expressions' 
>>> >>> that are essentially devoid of meaning. All of these distinctions, 
>>> >>> particularly the latter, regarding purpose, are typically confused 
>>> in 
>>> >>> discussions on internet fora. 
>>> >>> 
>>> >>> I think that Julia is a great language for symbolic computation. 
>>> Have fun! 
>>> >>> --John 
>>> >>> 
>>> >>> 
>>> >>> On Sunday, April 19, 2015 at 7:47:34 PM UTC+2, Marcus Appelros 
>>> wrote: 
>>> >>>> 
>>> >>>> Hi Kevin, thanks for the link! From the end of that thread: 
>>> >>>> 
>>> >>>> "Has anybody written pure Julia symbolic math for things like: 
>>> >>>> 
>>> >>>> f = (x**y + y**z + z**x)**100 
>>> >>>> g = f.expand()" 
>>> >>>> 
>>> >>>> "As far as I know there is no Julia package which supports such 
>>> symbolic 
>>> >>>> expressions and manipulation." 
>>> >>>> 
>>> >>>> Now there is! 
>>> >>>> 
>>> >>>> Saw a more recent dev discussion calling for someone to write a 
>>> package 
>>> >>>> like this. Have looked through the package list many times and 
>>> never found 
>>> >>>> anything that appeared alike the vision of Equations, SymPy has 
>>> some common 
>>> >>>> functionality however certainly didn't start developing in Julia to 
>>> use 
>>> >>>> Python. 
>>> >>>> 
>>> >>>> Developing this code is indeed very enjoying and as more of the 
>>> planned 
>>> >>>> features become released a solid user base will be established, 
>>> have 
>>> >>>> expanded the todolist with an impelling to read the discussion in 
>>> your link 
>>> >>>> so as to hasten the construction of such a foundation, as per your 
>>> >>>> recommendation. 
>>> >>>> 
>>> >>>> With love. <3 
>>>
>>>
>

Reply via email to