Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-and-itasks
sapl-interpreter
Commits
70ebbfda
Commit
70ebbfda
authored
Oct 30, 2015
by
Laszlo Domoszlai
Browse files
first stub on using typeinfo. need to modify examples.
parent
b31ad726
Changes
9
Show whitespace changes
Inline
Side-by-side
interpreter/code.c
View file @
70ebbfda
...
...
@@ -15,8 +15,10 @@
#define forward_thunk(thunk, frame_ptr) \
Thunk* dst = get_dst(frame_ptr); \
if(dst != NULL){ \
dst->desc = (Desc*) __FORWARD_PTR__; \
dst->_forward_ptr = thunk;
dst->_forward_ptr = thunk; \
}
#define placeholder() \
push_a(alloc_b()); \
...
...
@@ -83,20 +85,14 @@ struct Thunk* create_thunk_var(Code* expr, int frame_ptr)
return
local
(
frame_ptr
,
((
VarEntry
*
)
expr
)
->
index
);
}
struct
Thunk
*
create_thunk_var_
strict
(
Code
*
expr
,
int
frame_ptr
)
struct
Thunk
*
create_thunk_var_
unboxed
(
Code
*
expr
,
int
frame_ptr
)
{
Thunk
*
arg
=
local
(
frame_ptr
,
((
VarEntry
*
)
expr
)
->
index
);
if
(
arg
->
desc
->
unboxable
)
// unboxable means it is on the B stack
{
// TODO: check if its on heap
Thunk
*
target
=
(
Thunk
*
)
alloc_heap
(
sizeof
(
Thunk
));
memcpy
(
target
,
arg
,
sizeof
(
Thunk
));
return
target
;
}
else
{
return
arg
;
}
}
struct
Thunk
*
create_thunk_thunk
(
Code
*
expr
,
int
frame_ptr
)
...
...
@@ -128,10 +124,11 @@ void set_create_thunk_fun(Code* code)
code
->
create_thunk
=
create_thunk_app_dyn
;
break
;
case
CT_VAR
:
case
CT_VAR_STRICT
:
code
->
create_thunk
=
create_thunk_var
;
break
;
case
CT_VAR_
STRICT
:
code
->
create_thunk
=
create_thunk_var_
strict
;
case
CT_VAR_
UNBOXED
:
code
->
create_thunk
=
create_thunk_var_
unboxed
;
break
;
case
CT_THUNK
:
code
->
create_thunk
=
create_thunk_thunk
;
...
...
@@ -312,7 +309,7 @@ void exec(Code* expr, int frame_ptr, int root_frame_ptr)
Thunk
*
thunk
=
get_dst
(
root_frame_ptr
);
int
newsize
=
slice
->
thunk_size
;
if
(
thunk
->
desc
->
thunk_size
<
newsize
)
{
if
(
thunk
!=
NULL
&&
thunk
->
desc
->
thunk_size
<
newsize
)
{
Thunk
*
target
=
thunk
;
thunk
=
(
Thunk
*
)
alloc_heap
(
newsize
);
target
->
desc
=
(
Desc
*
)
__FORWARD_PTR__
;
...
...
@@ -336,10 +333,6 @@ void exec(Code* expr, int frame_ptr, int root_frame_ptr)
case
CT_APP_DYN
:
{
push_a
(
local
(
frame_ptr
,
((
AppEntry
*
)
expr
)
->
var
.
index
));
//if(!basethunk->desc->hnf) basethunk = basethunk->desc->eval();
//peek_a()->desc->eval();
//Thunk* basethunk = peek_a();
//basethunk->desc->eval();
Thunk
**
bt
=
&
peek_a
();
(
*
bt
)
->
desc
->
eval
();
...
...
@@ -397,7 +390,7 @@ void exec(Code* expr, int frame_ptr, int root_frame_ptr)
Thunk
*
thunk
=
get_dst
(
root_frame_ptr
);
int
newsize
=
slice
->
thunk_size
;
if
(
thunk
->
desc
->
thunk_size
<
newsize
)
{
if
(
thunk
!=
NULL
&&
thunk
->
desc
->
thunk_size
<
newsize
)
{
Thunk
*
target
=
thunk
;
thunk
=
(
Thunk
*
)
alloc_heap
(
newsize
);
target
->
desc
=
(
Desc
*
)
__FORWARD_PTR__
;
...
...
@@ -428,13 +421,13 @@ void exec(Code* expr, int frame_ptr, int root_frame_ptr)
}
}
case
CT_VAR_STRICT
:
case
CT_VAR_UNBOXED
:
{
Thunk
*
arg
=
local
(
frame_ptr
,
((
VarEntry
*
)
expr
)
->
index
);
assert
(
is_hnf
(
arg
));
// TODO: check how often happens
if
(
arg
->
desc
->
unboxable
)
if
(
get_dst
(
root_frame_ptr
)
!=
NULL
&&
arg
->
desc
->
unboxable
)
{
memcpy
(
get_dst
(
root_frame_ptr
),
arg
,
sizeof
(
Thunk
));
}
...
...
interpreter/code.h
View file @
70ebbfda
...
...
@@ -4,7 +4,7 @@
#include "thunk.h"
enum
CodeType
{
CT_VAR
,
CT_VAR_STRICT
,
CT_VAR
,
CT_VAR_STRICT
,
CT_VAR_UNBOXED
,
CT_APP_PRIM1
,
CT_APP_PRIM_S
,
CT_APP_PRIM2
,
CT_APP_PRIM_ST
,
CT_APP_PRIM_TS
,
CT_APP_PRIM_SS
,
CT_APP_PRIM_TA
,
CT_APP_PRIM_AT
,
CT_APP_PRIM_AS
,
CT_APP_PRIM_SA
,
CT_APP_THUNK
,
CT_APP_DYN
,
...
...
interpreter/debug.h
View file @
70ebbfda
...
...
@@ -2,7 +2,7 @@
#define DEBUG_H
//#define DEBUG
#define BENCHMARK
//
#define BENCHMARK
#ifndef DEBUG
#define NDEBUG
...
...
interpreter/desc.h
View file @
70ebbfda
...
...
@@ -8,6 +8,7 @@
struct
FunEntry
{
struct
Desc
base
;
int
strictness
;
int
boxing
;
union
{
char
*
parseCont
;
...
...
@@ -26,6 +27,7 @@ struct SliceEntry {
struct
ADTEntry
{
struct
Desc
base
;
int
strictness
;
int
boxing
;
unsigned
int
nrConses
;
// number of constructors in the type
unsigned
int
idx
;
// constructor index
...
...
@@ -47,13 +49,13 @@ struct CAFEntry {
struct
RecordEntry
{
struct
Desc
base
;
int
strictness
;
int
boxing
;
char
**
fields
;
char
name
[];
};
struct
PrimEntry
{
struct
Desc
base
;
int
strictness
;
void
(
*
exec
)(
int
frame_ptr
);
char
name
[];
};
...
...
interpreter/gc.c
View file @
70ebbfda
...
...
@@ -9,9 +9,9 @@
#define follow_thunk(thunk) if (thunk->desc == (Desc*) __FORWARD_PTR__) thunk = thunk->_forward_ptr;
// http://stackoverflow.com/questions/17095324/fastest-way-to-determine-if-an-integer-is-between-two-integers-inclusive-with/17095534#17095534
//
#define inheap(addr) ((unsigned)((int)addr-(int)heap_base_curr) < HEAP_SIZE)
#define inheap(addr) ((char*)addr >= heap_base_curr && (char*)addr < (heap_base_curr + HEAP_SIZE))
#define instackb(addr) ((char*)addr >= (char*) &stack_b[0] && (char*)addr < (char*) &stack_b[STACK_SIZE_B])
#define inheap(addr) ((unsigned)((int)addr-(int)heap_base_curr) < HEAP_SIZE)
//
#define inheap(addr) ((char*)addr >= heap_base_curr && (char*)addr < (heap_base_curr + HEAP_SIZE))
//
#define instackb(addr) ((char*)addr >= (char*) &stack_b[0] && (char*)addr < (char*) &stack_b[STACK_SIZE_B])
int
gc_enabled
=
1
;
...
...
interpreter/parse.c
View file @
70ebbfda
...
...
@@ -100,6 +100,8 @@ int parseDef1(char** ptr) {
// 4. field: strictness bits
if
(
!
parseInt
(
ptr
,
&
entry
->
strictness
))
return
0
;
// 5. field: boxing info
if
(
!
parseInt
(
ptr
,
&
entry
->
boxing
))
return
0
;
// set the continuation for stage 2
entry
->
parseCont
=
*
ptr
;
...
...
@@ -177,6 +179,8 @@ int parseDef1(char** ptr) {
// 4. field: strictness bits
if
(
!
parseInt
(
ptr
,
&
entry
->
strictness
))
return
0
;
// 5. field: boxing info
if
(
!
parseInt
(
ptr
,
&
entry
->
boxing
))
return
0
;
// generate slices. avoid function call if arity is zero
if
(
arity
>
0
)
gen_slices
(
entry_base
,
(
Desc
*
)
entry
,
arity
);
...
...
@@ -204,6 +208,7 @@ int parseDef1(char** ptr) {
if
(
!
parseInt
(
ptr
,
&
arity
))
return
0
;
entry
->
base
.
arity
=
arity
;
if
(
!
parseInt
(
ptr
,
&
entry
->
strictness
))
return
0
;
if
(
!
parseInt
(
ptr
,
&
entry
->
boxing
))
return
0
;
entry
->
base
.
thunk_size
=
thunk_size_f
(
arity
);
entry
->
base
.
unboxable
=
false
;
...
...
@@ -299,6 +304,10 @@ VarEntry* parseVar(char **ptr, VarEntry* target) {
entry
->
base
.
type
=
CT_VAR_STRICT
;
entry
->
base
.
strict
=
true
;
break
;
case
'U'
:
// Strict unboxable var
entry
->
base
.
type
=
CT_VAR_UNBOXED
;
entry
->
base
.
strict
=
true
;
break
;
default:
return
0
;
}
...
...
interpreter/prim.c
View file @
70ebbfda
...
...
@@ -9,15 +9,6 @@
void
__add
(
int
dst_idx
)
{
Thunk
*
target
=
get_dst
(
dst_idx
);
while
(
target
->
desc
==
(
Desc
*
)
__FORWARD_PTR__
)
target
=
target
->
_forward_ptr
;
if
(
target
->
desc
->
type
==
FT_ADT
)
{
int
i
=
0
;
}
target
->
desc
=
(
Desc
*
)
__INT__
;
target
->
_int
=
readI
(
arg
(
2
))
+
readI
(
arg
(
1
));
}
...
...
@@ -60,12 +51,6 @@ void __geC(int dst_idx) {
void
__eqI
(
int
dst_idx
)
{
Thunk
*
target
=
get_dst
(
dst_idx
);
if
(
target
->
desc
!=
NULL
&&
target
->
desc
->
type
==
FT_ADT
)
{
int
i
=
0
;
}
target
->
desc
=
(
Desc
*
)
__BOOL__
;
target
->
_bool
=
readI
(
arg
(
2
))
==
readI
(
arg
(
1
));
}
...
...
@@ -118,7 +103,7 @@ void __C2I(int dst_idx) {
target
->
_int
=
readC
(
arg
(
1
));
}
void
add_prim
(
int
arity
,
int
strictness
,
char
*
name
,
void
(
*
exec
)(
int
))
{
void
add_prim
(
int
arity
,
char
*
name
,
void
(
*
exec
)(
int
))
{
int
nameLength
=
strlen
(
name
);
// before the PrimEntry there are "arity" number of SliceEntries
...
...
@@ -127,7 +112,6 @@ void add_prim(int arity, int strictness, char* name, void (*exec)(int)) {
PrimEntry
*
entry
=
(
PrimEntry
*
)
(
entry_base
+
arity
);
entry
->
base
.
type
=
arity
==
1
?
FT_PRIM1
:
FT_PRIM2
;
entry
->
base
.
arity
=
arity
;
entry
->
strictness
=
strictness
;
entry
->
base
.
thunk_size
=
thunk_size_f
(
arity
);
entry
->
base
.
hnf
=
false
;
entry
->
exec
=
exec
;
...
...
@@ -143,20 +127,20 @@ void add_prim(int arity, int strictness, char* name, void (*exec)(int)) {
}
void
init_prim
()
{
add_prim
(
2
,
3
,
"add"
,
&
__add
);
add_prim
(
2
,
3
,
"sub"
,
&
__sub
);
add_prim
(
2
,
3
,
"mult"
,
&
__mult
);
add_prim
(
2
,
3
,
"div"
,
&
__div
);
add_prim
(
2
,
3
,
"gt"
,
&
__gt
);
add_prim
(
2
,
3
,
"geC"
,
&
__geC
);
add_prim
(
2
,
3
,
"lt"
,
&
__lt
);
add_prim
(
2
,
3
,
"eqI"
,
&
__eqI
);
add_prim
(
2
,
3
,
"neqI"
,
&
__neqI
);
add_prim
(
2
,
3
,
"eqB"
,
&
__eqB
);
add_prim
(
2
,
3
,
"eqC"
,
&
__eqC
);
add_prim
(
1
,
1
,
"not"
,
&
__not
);
add_prim
(
2
,
3
,
"and"
,
&
__and
);
add_prim
(
2
,
3
,
"or"
,
&
__or
);
add_prim
(
2
,
3
,
"mod"
,
&
__mod
);
add_prim
(
1
,
1
,
"C2I"
,
&
__C2I
);
add_prim
(
2
,
"add"
,
&
__add
);
add_prim
(
2
,
"sub"
,
&
__sub
);
add_prim
(
2
,
"mult"
,
&
__mult
);
add_prim
(
2
,
"div"
,
&
__div
);
add_prim
(
2
,
"gt"
,
&
__gt
);
add_prim
(
2
,
"geC"
,
&
__geC
);
add_prim
(
2
,
"lt"
,
&
__lt
);
add_prim
(
2
,
"eqI"
,
&
__eqI
);
add_prim
(
2
,
"neqI"
,
&
__neqI
);
add_prim
(
2
,
"eqB"
,
&
__eqB
);
add_prim
(
2
,
"eqC"
,
&
__eqC
);
add_prim
(
1
,
"not"
,
&
__not
);
add_prim
(
2
,
"and"
,
&
__and
);
add_prim
(
2
,
"or"
,
&
__or
);
add_prim
(
2
,
"mod"
,
&
__mod
);
add_prim
(
1
,
"C2I"
,
&
__C2I
);
}
precompiler/precompiler.icl
View file @
70ebbfda
...
...
@@ -14,7 +14,8 @@ from Text.Unicode.UChar import instance toChar UChar
import
System
.
CommandLine
import
System
.
File
::
VarType
=
Local
Int
Bool
::
TypeInfo
=
Normal
|
Strict
|
UnBoxable
::
VarType
=
Local
Int
TypeInfo
::
Context
=
{
vars
::
Map
String
VarType
,
localcount
::
Int
...
...
@@ -22,24 +23,42 @@ import System.File
,
currentFun
::
String
}
unBoxableType
(
Type
"I"
)
=
True
unBoxableType
(
Type
"C"
)
=
True
unBoxableType
(
Type
"B"
)
=
True
unBoxableType
(
Type
"R"
)
=
True
unBoxableType
_
=
False
selectCaseOrder
(
PDefault
,_)
_
=
True
selectCaseOrder
_
_
=
False
newContext
=
{
vars
=
newMap
,
localcount
=
0
,
inspine
=
False
,
currentFun
=
""
}
typeInfo
(
TypedVar
(
StrictVar
_
_)
type
)
|
unBoxableType
type
=
UnBoxable
=
Strict
typeInfo
_
=
Normal
registerArgs
vars
idx
[]
=
vars
registerArgs
vars
idx
[
v
:
vs
]
=
registerArgs
(
put
(
unpackVar
v
)
(
Local
idx
(
isStrictVar
v
))
vars
)
(
idx
+
1
)
vs
registerArgs
vars
idx
[
v
:
vs
]
=
registerArgs
(
put
(
unpackVar
v
)
(
Local
idx
(
typeInfo
v
))
vars
)
(
idx
+
1
)
vs
registerLocals
vars
idx
[]
=
vars
registerLocals
vars
idx
[
v
:
vs
]
=
registerLocals
(
put
(
unpackVar
v
)
(
Local
idx
(
isStrictVar
v
))
vars
)
(
idx
+
1
)
vs
registerLocals
vars
idx
[
v
:
vs
]
=
registerLocals
(
put
(
unpackVar
v
)
(
Local
idx
(
typeInfo
v
))
vars
)
(
idx
+
1
)
vs
calcStrictness
[]
_
=
0
calcStrictness
[
StrictVar
_
_:
vs
]
idx
=
(
1
<<
idx
)
+
calcStrictness
vs
(
idx
+
1
)
calcStrictness
[
NormalVar
_
_:
vs
]
idx
=
calcStrictness
vs
(
idx
+
1
)
calcStrictness
[
TypedVar
(
StrictVar
_
_)
_:
vs
]
idx
=
(
1
<<
idx
)
+
calcStrictness
vs
(
idx
+
1
)
calcStrictness
[_:
vs
]
idx
=
calcStrictness
vs
(
idx
+
1
)
calcBoxing
[]
_
=
0
calcBoxing
[
TypedVar
(
StrictVar
_
_)
type
:
vs
]
idx
|
unBoxableType
type
=
(
1
<<
idx
)
+
calcBoxing
vs
(
idx
+
1
)
calcBoxing
[_:
vs
]
idx
=
calcBoxing
vs
(
idx
+
1
)
sFunc
ctx
(
FTFunc
name
body
params
)
a
#
ctx
=
{
ctx
&
vars
=
registerArgs
ctx
.
vars
0
params
,
localcount
=
length
params
,
inspine
=
True
,
currentFun
=
(
unpackVar
name
)}
=
a
<++
"F"
<++
sText
(
unpackVar
name
)
<++
sNum
(
length
params
)
<++
sNum
(
calcStrictness
params
0
)
<++
sTerm
ctx
body
=
a
<++
"F"
<++
sText
(
unpackVar
name
)
<++
sNum
(
length
params
)
<++
sNum
(
calcStrictness
params
0
)
<++
sNum
(
calcBoxing
params
0
)
<++
sTerm
ctx
body
sFunc
ctx
(
FTCAF
name
body
)
a
#
ctx
=
{
ctx
&
inspine
=
False
,
currentFun
=
(
unpackVar
name
)}
...
...
@@ -47,14 +66,16 @@ sFunc ctx (FTCAF name body) a
sFunc
ctx
(
FTRecord
name
fields
)
a
#
ctx
=
{
ctx
&
inspine
=
False
,
currentFun
=
(
unpackVar
name
)}
=
a
<++
"R"
<++
sText
(
unpackVar
name
)
<++
sNum
(
length
fields
)
<++
sNum
(
calcStrictness
fields
0
)
<++
sList0
sText
(
map
unpackVar
fields
)
=
a
<++
"R"
<++
sText
(
unpackVar
name
)
<++
sNum
(
length
fields
)
<++
sNum
(
calcStrictness
fields
0
)
<++
sNum
(
calcBoxing
fields
0
)
<++
sList0
sText
(
map
unpackVar
fields
)
sFunc
ctx
(
FTADT
typeName
cs
)
a
#
ctx
=
{
ctx
&
inspine
=
False
,
currentFun
=
(
unpackVar
typeName
)}
=
a
<++
"A"
<++
sList
sCon
cs
where
sCon
(
SaplConstructor
name
_
params
)
a
=
a
<++
sText
(
unpackVar
name
)
<++
sNum
(
length
params
)
<++
sNum
(
calcStrictness
params
0
)
=
a
<++
sText
(
unpackVar
name
)
<++
sNum
(
length
params
)
<++
sNum
(
calcStrictness
params
0
)
<++
sNum
(
calcBoxing
params
0
)
sList
f
es
a
=
a
<++
sNum
(
length
es
)
<++
sList0
f
es
sList0
f
[
e
]
a
=
a
<++
f
e
...
...
@@ -77,8 +98,9 @@ appType ctx var | isLocalVar ctx var
appType
{
inspine
,
currentFun
}
var
=
if
(
inspine
&&
unpackVar
var
==
currentFun
)
"T"
"A"
// T: tail recursive
// TODO: find constructor for strictness info
sSelectCase
ctx
(
PCons
varName
params
,
expr
)
a
#
ctx
=
{
ctx
&
vars
=
registerLocals
ctx
.
vars
ctx
.
localcount
params
,
localcount
=
ctx
.
localcount
+
length
params
}
#
ctx
=
{
ctx
&
vars
=
registerLocals
ctx
.
vars
ctx
.
localcount
(
map
(\
p
->
TypedVar
p
NoType
)
params
)
,
localcount
=
ctx
.
localcount
+
length
params
}
=
a
<++
"C"
<++
sText
varName
<++
sTerm
ctx
expr
sSelectCase
ctx
(
PLit
lit
,
expr
)
a
=
a
<++
"L"
<++
lit
<++
sTerm
ctx
expr
...
...
@@ -87,16 +109,18 @@ sSelectCase ctx (PDefault, expr) a
sVar
ctx
var
a
=
case
get
varName
ctx
.
vars
of
(
Just
(
Local
i
True
))
=
a
<++
"S"
<++
sNum
i
(
Just
(
Local
i
False
))
=
a
<++
"L"
<++
sNum
i
(
Just
(
Local
i
Strict
))
=
a
<++
"S"
<++
sNum
i
(
Just
(
Local
i
UnBoxable
))
=
a
<++
"U"
<++
sNum
i
(
Just
(
Local
i
Normal
))
=
a
<++
"L"
<++
sNum
i
_
=
a
<++
"F"
<++
sText
varName
where
varName
=
unpackVar
var
sVarApp
ctx
var
a
=
case
get
varName
ctx
.
vars
of
(
Just
(
Local
i
True
))
=
a
<++
"VS"
<++
sNum
i
(
Just
(
Local
i
False
))
=
a
<++
"VL"
<++
sNum
i
(
Just
(
Local
i
Strict
))
=
a
<++
"VS"
<++
sNum
i
(
Just
(
Local
i
UnBoxable
))
=
a
<++
"VS"
<++
sNum
i
(
Just
(
Local
i
Normal
))
=
a
<++
"VL"
<++
sNum
i
_
=
a
<++
"A"
<++
sList
(
sTerm
ctx
)
[]
<++
sVar
ctx
var
where
varName
=
unpackVar
var
...
...
precompiler/precompiler.prj
View file @
70ebbfda
...
...
@@ -398,7 +398,7 @@ OtherModules
Fusion: False
Module
Name: Control.Applicative
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -412,7 +412,7 @@ OtherModules
Fusion: False
Module
Name: Control.Monad
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -426,7 +426,7 @@ OtherModules
Fusion: False
Module
Name: Data.Either
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -440,7 +440,7 @@ OtherModules
Fusion: False
Module
Name: Data.Error
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -454,7 +454,7 @@ OtherModules
Fusion: False
Module
Name: Data.Foldable
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -468,7 +468,7 @@ OtherModules
Fusion: False
Module
Name: Data.Func
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -482,7 +482,7 @@ OtherModules
Fusion: False
Module
Name: Data.Functor
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -496,7 +496,7 @@ OtherModules
Fusion: False
Module
Name: Data.List
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -510,7 +510,7 @@ OtherModules
Fusion: False
Module
Name: Data.Map
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -524,7 +524,7 @@ OtherModules
Fusion: False
Module
Name: Data.Maybe
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -538,7 +538,7 @@ OtherModules
Fusion: False
Module
Name: Data.Monoid
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -552,7 +552,7 @@ OtherModules
Fusion: False
Module
Name: Data.Set
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -566,7 +566,7 @@ OtherModules
Fusion: False
Module
Name: Data.Traversable
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -580,7 +580,7 @@ OtherModules
Fusion: False
Module
Name: Data.Void
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -594,7 +594,7 @@ OtherModules
Fusion: False
Module
Name: System.CommandLine
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -608,7 +608,7 @@ OtherModules
Fusion: False
Module
Name: System.IO
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -622,7 +622,7 @@ OtherModules
Fusion: False
Module
Name: System._Pointer
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -636,7 +636,7 @@ OtherModules
Fusion: False
Module
Name: Text
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -650,7 +650,7 @@ OtherModules
Fusion: False
Module
Name: Text.JSON
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -664,7 +664,7 @@ OtherModules
Fusion: False
Module
Name: Text.PPrint
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -678,7 +678,7 @@ OtherModules
Fusion: False
Module
Name: Text.StringAppender
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -692,7 +692,7 @@ OtherModules
Fusion: False
Module
Name: Text.Unicode
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -706,7 +706,7 @@ OtherModules
Fusion: False
Module
Name: Text.Unicode.Encodings.JS
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -720,7 +720,7 @@ OtherModules
Fusion: False
Module
Name: Text.Unicode.UChar
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Independent
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Independent
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -737,7 +737,7 @@ OtherModules
ObjectFile: bsearch.
Module
Name: System.File
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Windows
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Windows
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -751,7 +751,7 @@ OtherModules
Fusion: False
Module
Name: System.OSError
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Windows
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Windows
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -765,7 +765,7 @@ OtherModules
Fusion: False
Module
Name: System.Time
Dir: {Application}\iTasks-SDK\Dependencies\
Platform
\OS-Windows
Dir: {Application}\iTasks-SDK\Dependencies\
clean-platform\src\libraries
\OS-Windows
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
...
...
@@ -781,7 +781,7 @@ OtherModules
Library: msvcrt.txt
Module
Name: System._WinBase