Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
iTasks-SDK
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
75
Issues
75
List
Boards
Labels
Service Desk
Milestones
Merge Requests
7
Merge Requests
7
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
clean-and-itasks
iTasks-SDK
Commits
572ea143
Commit
572ea143
authored
Jun 26, 2018
by
Mart Lubbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add creation script
parent
6be8ff74
Pipeline
#12476
passed with stage
in 3 minutes and 8 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
0 deletions
+63
-0
Examples/CreateBasicAPIExamples.icl
Examples/CreateBasicAPIExamples.icl
+63
-0
No files found.
Examples/CreateBasicAPIExamples.icl
0 → 100644
View file @
572ea143
module
CreateBasicAPIExamples
import
StdFile
,
StdBool
,
StdMisc
,
StdFunc
,
StdList
,
StdString
,
StdTuple
import
Control
.
Monad
=>
qualified
join
import
Control
.
Applicative
import
Data
.
Functor
import
Data
.
Func
import
Data
.
Error
import
Data
.
Maybe
import
Data
.
Tuple
import
System
.
FilePath
import
System
.
File
import
System
.
Directory
import
System
.
OSError
import
Text
::
IOT
t
a
=
IOT
.(*
World
->
*(
t
a
,
*
World
))
runIOT
(
IOT
i
)
=
i
instance
Functor
(
IOT
t
)
|
Functor
t
where
fmap
f
m
=
IOT
(
appFst
(
fmap
f
)
o
runIOT
m
)
instance
Applicative
(
IOT
t
)
|
Applicative
t
where
pure
a
=
IOT
(
tuple
(
pure
a
))
(<*>)
mf
ma
=
IOT
\
w
->
let
(
f
,
w`
)
=
runIOT
mf
w
in
appFst
((<*>)
f
)
(
runIOT
ma
w`
)
instance
Monad
(
IOT
(
MaybeError
e
))
where
bind
ma
a2mb
=
IOT
\
w
->
case
runIOT
ma
w
of
(
Error
e
,
w
)
=
(
Error
e
,
w
)
(
Ok
a
,
w
)
=
runIOT
(
a2mb
a
)
w
//seqErrorsSt :: !(.st -> (MaybeError e a,!.st)) (a .st -> u:(!MaybeError e b, !.st)) !.st -> v:(MaybeError e b, !.st), [u <= v]
filterDirs
::
FilePath
->
Bool
filterDirs
"."
=
False
filterDirs
".."
=
False
filterDirs
_
=
True
recurse
::
FilePath
->
IOT
(
MaybeError
OSError
)
[
FilePath
]
recurse
root
|
endsWith
".dcl"
root
=
pure
[
root
]
=
IOT
(
getFileInfo
root
)
>>=
\
fi
->
if
fi
.
directory
(
IOT
(
readDirectory
root
)
>>=
fmap
flatten
o
mapM
(
recurse
o
(</>)
root
)
o
filter
filterDirs
)
(
pure
[])
makeExs
::
[
FilePath
]
->
[
String
]
makeExs
i
=
[
"basicAPIExamples :: [Workflow]
\n
"
,
"basicAPIExamples =
\n
"
,
"
\t
["
,
join
"
\n\t
,"
(
map
makeEx
i
),
"
\n\t
]
\n
"
]
makeEx
i
=
concat
[
"workflow
\"
"
,
i
,
"
\"
'"
,
i
,
"'.doc '"
,
i
,
"'.workflow"
]
Start
w
#
(
io
,
w
)
=
stdio
w
#
(
mcwd
,
w
)
=
runIOT
(
recurse
"BasicAPIExamples"
)
w
|
isError
mcwd
=
abort
(
"Error in getting the files: "
+++
toString
(
snd
(
fromError
mcwd
))
+++
"
\n
"
)
#
io
=
foldl
(<<<)
io
(
makeExs
(
fromOk
mcwd
))
#
(
ok
,
w
)
=
fclose
io
w
|
not
ok
=
abort
"Couldn't close stdio
\n
"
=
(
w
,
mcwd
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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