Aos especialistas em LISP…
Porque consigo calcular o fatorial de 10000 com a função que o TedLoprao citou??? Como o LISP trata as operações matemáticas???
Aos especialistas em LISP…
Porque consigo calcular o fatorial de 10000 com a função que o TedLoprao citou??? Como o LISP trata as operações matemáticas???
Bom como Haskell tb eh uma linguagem derivada de Lisp(pelo q li) isso acontece porque o tipo inteiro(Integer) é INFINITO.Não há estouro…só por limitações da sua máquina.Pegue uma sequencia de fibonnacci em Haskell por exemplo:
fib:: Integer->Integer
fib 0=0
fib 1=1
fib (n+2)=fib(n+1)+fib n
Se vc botar para rodar fib 50 por exemplo,funcionará perfeitamente…
Mas demora um eternidade…
Detalhes:
http://www.haskell.org/aboutHaskell.html
Realmente, ele só não irá calcular quando faltar recursos de máquina (ao menos foi o que percebi nos meus testes, hehehe)… Entretanto, se vc chegar ao topo do fatorial que postei, tente fazer um sem utilizar recursividade que vc perceberá que ele pode chegar mais além (essa eu tbm testei )
Fallow