1 @c /Runtime.texi/1.18/Sat Jul 8 08:15:05 2006/-ko/
3 * Introdução a Ambiente em Tempo de Execução::
5 * Definições para Ambiente em Tempo de Execução::
9 @node Introdução a Ambiente em Tempo de Execução, Interrupções, Ambiente em Tempo de Execução, Ambiente em Tempo de Execução
10 @section Introdução a Ambiente em Tempo de Execução
11 @c THIS DISCUSSION OF maxima-init.mac REPLACES AN EARLIER WRITE-UP. !!!
12 @c HOWEVER IT SEEMS THAT THIS TEXT REALLY WANTS TO BE UNDER A DIFFERENT HEADING. !!!
13 @code{maxima-init.mac} é um ficheiro que é chamado automaticamente
14 quando o Maxima inicia. Pode usar @code{maxima-init.mac} para
15 personalizar o seu ambiente no Maxima. @code{maxima-init.mac}, se existir,
16 é tipicamente colocado no directório chamado por
17 @code{maxima_userdir}, embora possa estar em qualquer outro directório
18 procurado pela função @code{file_search}.
20 Aqui está um exemplo do ficheiro @code{maxima-init.mac}:
23 setup_autoload ("specfun.mac", ultraspherical, assoc_legendre_p);
27 Nesse Exemplo, @code{setup_autoload} diz ao Maxima para chamar o
28 ficheiro especificado (@code{specfun.mac}) se qualquer das
29 funções (@code{ultraspherical}, @code{assoc_legendre_p})
30 forem chamadas sem estarem definidas. Dessa forma, não precisa de se
31 lembrar de chamar o ficheiro antes das funções.
33 A declaração @code{showtime: all} diz ao Maxima para
34 activar a opção @code{showtime}. O ficheiro
35 @code{maxima-init.mac} pode conter quaisquer outras
36 atribuições ou outras declarações do
39 @node Interrupções, Definições para Ambiente em Tempo de Execução, Introdução a Ambiente em Tempo de Execução, Ambiente em Tempo de Execução
43 O utilizador pode parar uma computação que consome muito
44 tempo com o caractere ^C (control-C). A ação padrão
45 é parar a computação e mostrar outra linha de comando
46 do utilizador. Nesse caso, não é possível continuar a
47 computação interrompida.
49 Se a variável @code{*debugger-hook*} é escolhida para @code{nil},
53 :lisp (setq *debugger-hook* nil)
57 então na ocasião do recebimento do ^C, Maxima iniciará o depurador
58 Lisp, e o utilizador pode usar o depurador para inspecionar o ambiente
59 Lisp. A computação interrompida pode ser retomada
60 através do comando @code{continue} no depurador Lisp. O método de
61 retorno para ao Maxima partindo do depurador Lisp (outro como executando
62 a computação para complementação) é
63 diferente para cada versão do Lisp.
65 Em sistemas Unix, o caratere ^Z (control-Z) faz com que Maxima
66 pare tudo e aguarde em segundo plano, e o controle é retornado para a linha de comando do shell.
67 O comando @code{fg} faz com que o Maxima
68 retorne ao primeiro plano e continue a partir do ponto no qual foi interrompido.
70 @c end concepts Ambiente em Tempo de Execução
71 @node Definições para Ambiente em Tempo de Execução, , Interrupções, Ambiente em Tempo de Execução
72 @section Definições para Ambiente em Tempo de Execução
74 @c NEEDS EXPANSION AND CLARIFICATION
75 @defvr {Declaração} feature
76 Maxima compreende dois tipos distintos de recurso,
77 recursos do sistema e recursos aplicados a expressões matemáticas.
78 Veja Também @code{status} para informações sobre recursos do sistema.
79 Veja Também @code{features} e @code{featurep} para informações sobre recursos matemáticos.
80 @c PROPERTIES, DECLARATIONS FALL UNDER THIS HEADING AS WELL
83 @code{feature} por si mesmo não é o nome de uma função ou variável.
87 @c NEEDS CLARIFICATION, ESPECIALLY WRT THE EXTENT OF THE FEATURE SYSTEM
88 @c (I.E. WHAT KINDS OF THINGS ARE FEATURES ACCORDING TO featurep)
89 @deffn {Função} featurep (@var{a}, @var{f})
90 Tenta determinar se o objecto @var{a} tem o
91 recurso @var{f} na base dos factos dentro base de dados corrente. Se possue,
92 é retornado @code{true}, de outra forma é retornado @code{false}.
94 Note que @code{featurep} retorna @code{false} quando nem @var{f}
95 nem a negação de @var{f} puderem ser estabelecidas.
97 @code{featurep} avalia seus argumentos.
99 Veja também @code{declare} e @code{features}.
102 (%i1) declare (j, even)$
103 (%i2) featurep (j, integer);
109 @defvr {Variável de sistema} maxima_tempdir
111 @code{maxima_tempdir} nomeia o directório no qual Maxima cria alguns ficheiros temporários.
112 Em particular, ficheiros temporários para impressão são criados no @code{maxima_tempdir}.
114 O valor inicial de @code{maxima_tempdir} é o directório do utilizador,
115 se o maxima puder localizá-lo; de outra forma Maxima supõe um directório adequado.
117 A @code{maxima_tempdir} pode ser atribuído uma sequência de caracteres que corresponde a um directório.
121 @defvr {Variável de sistema} maxima_userdir
123 @code{maxima_userdir} nomeia um directório no qual Maxima espera encontrar seus próprios ficheiros e os do ficheiros do Lisp.
124 (Maxima procura em alguns outros directórios também;
125 @code{file_search_maxima} e @code{file_search_lisp} possuem a lista completa.)
127 O valor inicial de @code{maxima_userdir} é um subdirectório do directório do utilizador,
128 se Maxima puder localizá-lo; de outra forma Maxima supõe um directório adequado.
130 A @code{maxima_userdir} pode ser atribuído uma sequência de caracteres que corresponde a um directório.
131 Todavia, fazendo uma atribuição a @code{maxima_userdir} não muda automaticamente o valor de
132 @code{file_search_maxima} e de @code{file_search_lisp};
133 Essas variáveis devem ser modificadas separadamente.
137 @deffn {Função} room ()
138 @deffnx {Função} room (true)
139 @deffnx {Função} room (false)
140 Mostra uma descrição do estado de armazenamento e
141 gerenciamento de pilha no Maxima. @code{room} chama a função Lisp de
146 @code{room ()} mostra uma descrição moderada.
148 @code{room (true)} mostra uma descrição detalhada.
150 @code{room (false)} mostra uma descrição resumida.
155 @deffn {Função} status (feature)
156 @deffnx {Função} status (feature, @var{recurso_ativo})
157 @deffnx {Função} status (status)
158 Retorna informações sobre a presença ou ausência de certos
159 recursos dependentes do sistema operacional.
163 @code{status (feature)} retorna uma lista dos recursos do sistema.
164 Inclui a versão do Lisp, tipo de sistema operacional, etc.
165 A lista pode variar de um tipo de Lisp para outro.
166 @item @code{status (feature, @var{recurso_ativo})} retorna @code{true} se @var{recurso_ativo}
167 está na lista de ítens retornada através de @code{status (feature)} e @code{false} de outra forma.
168 @code{status} não avalia o argumento @var{recurso_ativo}.
169 O operador apóstrofo-apóstrofo, @code{'@w{}'}, evita a avaliação.
170 Um recurso cujo nome contém um caractere especial, tal como um hífem,
171 deve ser fornecido como um argumento em forma de sequência de caracteres. Por Exemplo,
172 @code{status (feature, "ansi-cl")}.
174 @code{status (status)} retorna uma lista de dois elementos @code{[feature, status]}.
175 @code{feature} e @code{status} são dois argumentos aceitos pela função @code{status};
176 Não está claro se essa lista tem significância adicional.
179 A variável @code{features} contém uma lista de recursos que se aplicam a
180 expressões matemáticas. Veja @code{features} e @code{featurep} para maiores informações.
184 @deffn {Função} time (%o1, %o2, %o3, ...)
185 Retorna uma lista de tempos, em segundos, usados para calcular as linhas
186 de saída @code{%o1}, @code{%o2}, @code{%o3}, .... O tempo retornado é uma estimativa do Maxima do
187 tempo interno de computação, não do tempo decorrido. @code{time} pode somente
188 ser aplicado a variáveis(rótulos) de saída de linha; para quaisquer outras variáveis, @code{time}
189 retorna @code{unknown} (tempo desconhecido).
191 Escolha @code{showtime: true} para fazer com que Maxima moste o tempo de computação
192 e o tempo decorrido a cada linha de saída.
196 @deffn {Função} timedate ()
197 Retorna uma sequência de caracteres representando a data e hora atuais.
198 A sequência de caracteres tem o formato @code{HH:MM:SS Dia, mm/dd/aaaa (GMT-n)},
200 horas, minutos, segundos, dia da semana, mês, dia do mês, ano, e horas que diferem da hora GMT.
202 O valor de retorno é uma sequência de caracteres Lisp.
208 @c print ("timedate mostra o tempo actual", d)$
211 (%i1) d: timedate ();
212 (%o1) 08:05:09 Wed, 11/02/2005 (GMT-7)
213 (%i2) print ("timedate mostra o tempo actual", d)$
214 timedate reports current time 08:05:09 Wed, 11/02/2005 (GMT-7)