Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
cduce
cduce
Commits
f97308d7
Commit
f97308d7
authored
Jul 10, 2007
by
Pietro Abate
Browse files
[r2004-06-28 18:35:47 by afrisch] Optional 'external' keyword
Original author: afrisch Date: 2004-06-28 18:35:47+00:00
parent
242608ca
Changes
2
Hide whitespace changes
Inline
Side-by-side
tests/ocaml/a.cd
View file @
f97308d7
...
...
@@ -16,19 +16,19 @@ let map_complex (f : (Float,Float)->Float)(c : { x = Float; y = Float })
let pp (x : Any) : Latin1 = string_of x
let exists =
external "
Sys.file_exists
"
let exists = Sys.file_exists
let i = c:j
let home =
external "
Sys.getenv
"
"HOME"
let home = Sys.getenv "HOME"
let stdin : !Unix.file_descr =
external "
Unix.stderr
"
let unix_write =
external "
Unix.write
"
let str_len =
external "
String.length
"
let stdin : !Unix.file_descr = Unix.stderr
let unix_write = Unix.write
let str_len = String.length
let _ = unix_write stdin home 0 (str_len home)
let [] =
external "
Unix.sleep
"
1
let [] = Unix.sleep 1
let listmap = external { "List.map" Int Int }
...
...
typing/typer.ml
View file @
f97308d7
...
...
@@ -846,8 +846,13 @@ let rec expr env loc = function
exp
loc
fv
(
Typed
.
Forget
(
e
,
t
))
|
Var
s
->
(
match
Ns
.
split_qname
s
with
|
""
,
id
->
let
id
=
ident
id
in
exp
loc
(
Fv
.
singleton
id
)
(
Typed
.
Var
id
)
|
""
,
id
->
let
s
=
U
.
get_str
id
in
if
String
.
contains
s
'.'
then
extern
loc
env
s
[]
else
let
id
=
ident
id
in
exp
loc
(
Fv
.
singleton
id
)
(
Typed
.
Var
id
)
|
cu
,
id
->
let
cu
=
find_cu
(
U
.
mk
cu
)
env
in
exp
loc
Fv
.
empty
(
Typed
.
ExtVar
(
cu
,
ident
id
)))
...
...
@@ -940,6 +945,9 @@ let rec expr env loc = function
let
(
fv
,
e
)
=
expr
env
loc
e
and
t
=
typ
env
t
in
exp
loc
fv
(
Typed
.
Ref
(
e
,
t
))
|
External
(
s
,
args
)
->
extern
loc
env
s
args
and
extern
loc
env
s
args
=
let
args
=
List
.
map
(
typ
env
)
args
in
let
(
i
,
t
)
=
Externals
.
resolve
s
args
in
exp
loc
Fv
.
empty
(
Typed
.
External
(
t
,
i
))
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment