[nem-pl] Re: C# => Nemerle

Michal Moskal malekith at pld-linux.org
Sat Mar 27 16:28:42 CET 2004


On Sat, Mar 27, 2004 at 02:17:40PM +0100, Pawel Rozanski wrote:
> Michal Moskal wrote:
> 
> >>Mysle ze pozostale watpliwosci wyjda juz przy pisaniu testowaniu.
> >>Co do goto nie widze dla niego mozliwosci w chwili obecnej do
> >>rozmiwazania typu wyjatki, gdyz goto moze byc uzywane poza jedna
> >>struktura - jest calkowicie nie strukturalne.
> >Wyjątki tak czy inaczej odpadają (efaktywność...)
> >
> A moze jakos tak:
> 
> 
> fun(...){
> 0:
>   AAA
> 
> 1: while(x)
>    {
>      BBB
>      goto 0
>      CCC
>    }
> }
> 
> na:
> 
> fun(...)
> {
>   goto (r:int*bool ,... )
>   {
>     match(r)
>     {
>      | 0,_ =>
>        AAAA
>        goto(1,x)
> 
>      | 1,true =>
>        BBBB
>        goto(0,x)
>        CCCC
>        goto(1,x)
> 
>      | 1,false =>
>        ()
>     }
>   }
> 
>   goto((0,true),....)
> }

To jest bardzo ogólna metoda, ale mało czytelna. IMHO kod imperatywny po
zmianie powinien pozostać imperatywny i czytelny.


-- 
: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: When in doubt, use brute force. -- Ken Thompson :: UL++++$ C++ E--- a?




More information about the devel-pl mailing list