summaryrefslogtreecommitdiff
path: root/miralib/manual/32
blob: a54d084d1cdd46618d550b11f574d1bd5b6f5d9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
_R_E_C_E_N_T_ _C_H_A_N_G_E_S

January 2020 (version 2.066)

The Miranda source code has been revised to conform to the C11  standard
and  to  run  on both 64 and 32 bit platforms.  Earlier releases were 32
bit only.

December 2019 (version 2.057)

Miranda type `char' now includes all Unicode characters,  which  can  be
specified by hexadecimal escape codes in char and string constants.  For
example '\x5d2' is the Hebrew letter Gimel.

The lexical syntax of Miranda has been extended  to  include  octal  and
hexadecimal numerals - e.g. 0o777 is 511 and 0xffffffff is 4294967295.

See man section 11 (literals) for details of both the above.

Functions showoct,  showhex  ::  num->[char]  have  been  added  to  the
standard environment.

Data types with "laws", declared obsolete at release two,  have  finally
gone.   Strictness  annotations: `!' on fields of an algebraic data type
remain part of the language, see man section 20 (algebraic data types).

The flag -exp, for executable scripts,  has  gone  and  is  replaced  by
-exec,  see  man  section  31/4  (Using Miranda to build UNIX commands).
This is not backwards  compatible  (sorry)  but  the  change  needed  is
trivial.  If you have a magic script
	#!/usr/bin/mira -exp
	expression
	definitions...
change it to
	#!/usr/bin/mira -exec
        main = expression
        definitions...
The  new mechanism executes `main' wherever it is in the script (whereas
-exp required an expression on the second line).

_O_l_d_e_r_ _C_h_a_n_g_e_s (in reverse date order)

September 2009 (version 2.044)

The environment variable MIRAPROMPT may be set to a string to be used as
the Miranda session prompt instead of the default "Miranda ".

For reading/writing binary files in UTF-8 locale, stdenv is extended by
        readb, Stdoutb, Tofileb, Appendfileb
these behave similarly to
        read, Stdout, Tofile, Appendfile
but transfer data as bytes with no conversions from/to UTF-8.   See  new
manual section 31/9.

August 2008 (version 2.041, 2.042)

Miranda now detects if it is in UTF-8 locale and converts from/to  UTF-8
on reading/writing string and char values.

May 2006 (version 2.032)

The commands /nostrictif, /strictif to control enforcement  of  `if'  in
guard  syntax  have  gone.   The  `if' has been part of Miranda's syntax
since 1988.  In case there are surviving if-less scripts, you can use
	mira -nostrictif
or set the environment variable NOSTRICTIF to any non-empty string.

New command /recheck makes mira check if  any  loaded  script  has  been
updated before every evaluation, instead of only after /edit (/norecheck
to disable).  Appropriate if an editor window  is  running  concurrently
with  the  Miranda  session  window.   The  setting  is  remembered  for
subsequent sessions.  Formerly enabled by setting  environment  variable
RECHECKMIRA to a non-empty string - that method still works also.

mira now checks that it has miralib of same version number - exits  with
error  message  otherwise.   An explicit mira -lib <path> overrides this
but it is in general inadvisable to run mira with wrong miralib.

_H_i_s_t_o_r_y_ _o_f_ _M_i_r_a_n_d_a_ _r_e_l_e_a_s_e_s

1 May 1985 - alpha test, released to University of Kent only.

October 1985 - beta test (version 0.292 for VAX, 0.293 for SUN)
Distributed to 88 sites.

April 1987 - release one (version 1.009 or 1.016 or  1.019)
Added  literate  scripts, library mechanism: %export, %include, (n+k) patterns.
Around 250 sites.

October 1989 - release two (versions 2.0xx for various machines)
Added unbounded size integers, %free, faster SK reduction m/c
Around 550 sites by mid-90's.

May 2006 - revised and released as free software (but not open source).

Nov 2019 - revised and made open source.

Jan 2020 - revised to C11 standard and made 64 bit compatible.