summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2016-11-08 15:40:33 +0100
committerCamil Staps2016-11-08 15:42:34 +0100
commit39b3f17376c032d81bbfedfb9c07acc68c2e32ca (patch)
tree350ac9a56eed20be24a1f044d51e483bb3ea1571
parentOverloaded constructors (diff)
Fix ctocleanHEADmaster
-rw-r--r--ctoclean/Makefile7
-rw-r--r--ctoclean/call.c8
-rw-r--r--ctoclean/square.dcl3
-rw-r--r--ctoclean/square.icl11
4 files changed, 12 insertions, 17 deletions
diff --git a/ctoclean/Makefile b/ctoclean/Makefile
index 7c7047a..7290fcb 100644
--- a/ctoclean/Makefile
+++ b/ctoclean/Makefile
@@ -1,13 +1,12 @@
all:
mkdir -p Clean\ System\ Files
$(CC) -c call.c -o Clean\ System\ Files/call.o
- clm square -o square
+ clm -l Clean\ System\ Files/call.o square -o square
run:
./square
clean:
- rm -rf Clean\ System\ Files square
-
-.PHONY: clean
+ $(RM) -r Clean\ System\ Files square
+.PHONY: all clean run
diff --git a/ctoclean/call.c b/ctoclean/call.c
index be5fe48..1d70d68 100644
--- a/ctoclean/call.c
+++ b/ctoclean/call.c
@@ -1,10 +1,8 @@
-#include <inttypes.h>
-#include <stdio.h>
+#include <stdint.h>
-extern int64_t square(int64_t);
+extern int64_t clean_square(int64_t);
int64_t call_square(int64_t);
int64_t call_square(int64_t x) {
- return square(x);
+ return clean_square(x);
}
-
diff --git a/ctoclean/square.dcl b/ctoclean/square.dcl
index ea9aaa2..2306c55 100644
--- a/ctoclean/square.dcl
+++ b/ctoclean/square.dcl
@@ -1,5 +1,4 @@
definition module square
-square :: !Int -> Int
+clean_square :: !Int -> Int
call_square :: !Int -> Int
-
diff --git a/ctoclean/square.icl b/ctoclean/square.icl
index 3fd9723..897811f 100644
--- a/ctoclean/square.icl
+++ b/ctoclean/square.icl
@@ -2,14 +2,13 @@ implementation module square
import StdEnv
-foreign export square
-square :: !Int -> Int
-square x = x * x
+foreign export clean_square
+clean_square :: !Int -> Int
+clean_square x = x * x
call_square :: !Int -> Int
-call_square x = code {
- ccall square "GI:I"
+call_square x = code inline {
+ ccall call_square "I:I"
};
Start = map call_square [1..10]
-