>
>
> I am studying mini_leo (a rust program) 
>
 
I am sorry for the mess that mini_leo currently is in. While studying just 
keep in mind it is far from its original idea. There is almost no 
documentation, no comments in the code and it contains traces from many 
different experiments. You might be puzzled by some code pieces that 
actually are just residuum of past experiments.

Also I plan to rewrite rust parsing code using the python code from my 
#1598 efforts in Leo (once I finish it). I believe this code is better than 
the present rust version and it handles unknownAttributes too. Anyway 
present rust code gives just a taste of what might be possible to achieve.

I haven't decided yet, which GUI framework to use for mini_leo. There are 
no standard GUI for rust applications yet, although there are many 
experiments in this area. Most likely candidate for now is using rust as 
back-end web server and creating GUI front-end in web browser. I've 
recently written several single page web applications using elm programming 
language and it was a very pleasant experience to work in elm. I plan to 
write about these experiences once I got more time. I've finally understood 
the real benefit of typed languages. I still like python and its dynamic 
typing, but now I see that creating good types can really simplify code.

With well designed types it is sometimes possible to banish all invalid 
states and make them impossible to happen. If the invalid states can't 
exist, there is no need later to check for them and code becomes much 
simpler. When there is a possibility to create an invalid state then in 
every piece of code that deals with the state there must be a check for 
these invalid states and those checks and guards are complicating every 
function. I haven't tried to use this technique in rust yet, but I guess it 
should be possible. Perhaps it is a natural thing to do in rust and I just 
missed the opportunity to use it before. I'll be writing more about this.

Vitalije

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/e20d8039-3403-46a7-b0e7-56e47a729702o%40googlegroups.com.

Reply via email to