diff --git a/.gitignore b/.gitignore index 6a513a0..70d85ca 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ .DS_Store bin/configlet bin/configlet.exe + +concepts/_template/ diff --git a/concepts/basics/about.md b/concepts/basics/about.md new file mode 100644 index 0000000..4b51d64 --- /dev/null +++ b/concepts/basics/about.md @@ -0,0 +1 @@ +# About diff --git a/concepts/basics/introduction.md b/concepts/basics/introduction.md new file mode 100644 index 0000000..e10b99d --- /dev/null +++ b/concepts/basics/introduction.md @@ -0,0 +1 @@ +# Introduction diff --git a/concepts/basics/links.json b/concepts/basics/links.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/concepts/basics/links.json @@ -0,0 +1,2 @@ +[ +] diff --git a/concepts/functions/about.md b/concepts/functions/about.md new file mode 100644 index 0000000..f109e93 --- /dev/null +++ b/concepts/functions/about.md @@ -0,0 +1,6 @@ +# About + +TODO: + +* Most exercises here are written as functions, because they are reusable and easy to test, which makes them perfect for separating pieces of code. +* Function names by convention should be verbs or contain verbs. diff --git a/concepts/functions/introduction.md b/concepts/functions/introduction.md new file mode 100644 index 0000000..e10b99d --- /dev/null +++ b/concepts/functions/introduction.md @@ -0,0 +1 @@ +# Introduction diff --git a/concepts/functions/links.json b/concepts/functions/links.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/concepts/functions/links.json @@ -0,0 +1,2 @@ +[ +] diff --git a/concepts/script/about.md b/concepts/script/about.md new file mode 100644 index 0000000..4b51d64 --- /dev/null +++ b/concepts/script/about.md @@ -0,0 +1 @@ +# About diff --git a/concepts/script/introduction.md b/concepts/script/introduction.md new file mode 100644 index 0000000..e10b99d --- /dev/null +++ b/concepts/script/introduction.md @@ -0,0 +1 @@ +# Introduction diff --git a/concepts/script/links.json b/concepts/script/links.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/concepts/script/links.json @@ -0,0 +1,2 @@ +[ +] diff --git a/concepts/strings/about.md b/concepts/strings/about.md new file mode 100644 index 0000000..4b51d64 --- /dev/null +++ b/concepts/strings/about.md @@ -0,0 +1 @@ +# About diff --git a/concepts/strings/introduction.md b/concepts/strings/introduction.md new file mode 100644 index 0000000..e10b99d --- /dev/null +++ b/concepts/strings/introduction.md @@ -0,0 +1 @@ +# Introduction diff --git a/concepts/strings/links.json b/concepts/strings/links.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/concepts/strings/links.json @@ -0,0 +1,2 @@ +[ +] diff --git a/config.json b/config.json index 8321363..904994d 100644 --- a/config.json +++ b/config.json @@ -17,45 +17,21 @@ }, "concepts": [ { - "slug": "values", - "name": "Values", - "blurb": "Values are data.", - "uuid": "88ecb9e0-2905-4f69-bb05-807f662cb582" + "slug": "basics", + "name": "Basics", + "blurb": "General info about writing programs in Red.", + "uuid": "726350c1-59c1-4ae6-8c72-a1e49ce7a0ed" }, { - "slug": "types", - "name": "Types", - "blurb": "Each value has a type. Red allows you to choose from more than 50 types.", - "uuid": "742888d9-c939-466b-abdb-1f8b43399f86" + "slug": "script", + "name": "Script", + "blurb": "Script is set of instructions beginning with a header. It can be read from file.", + "uuid": "ad9b3663-1194-4f5b-bce7-ec1e35042b2a" }, { - "slug": "words", - "name": "Words", - "blurb": "Words are names for data", - "uuid": "6b8150e5-dfeb-4273-b020-240dc025190b" - }, - { - "slug": "blocks", - "name": "Blocks", - "blurb": "Blocks are groups of words and variables.", - "uuid": "8e760b20-e8a9-4b66-93a3-413c10726983" - }, - { - "slug": "evaluation", - "name": "Evaluation", - "blurb": "Evaluation makes a values from some code.", - "uuid": "5fd2a02f-60d0-4f9f-b44d-808d6d625558" - }, - { - "slug": "debugging", - "name": "Debugging", - "blurb": "Debugging is a process of finding errors in code.", - "uuid": "4bb97232-6f21-439e-bcf6-64cf5765d091" - }, - { - "slug": "strings-series", - "name": "Strings and other series.", - "blurb": "Strings are values of type string!. Strings usually represent text.", + "slug": "strings", + "name": "String! type", + "blurb": "Strings are values of type string!. They usually represent textual data.", "uuid": "a936c324-9503-4acc-968f-ab18b8092ed0" }, { @@ -63,24 +39,6 @@ "name": "Functions", "blurb": "Functions usually do something useful. And they usually return a value.", "uuid": "af09604a-bbfc-460f-8b78-5850abf16bea" - }, - { - "slug": "contexts", - "name": "Contexts", - "blurb": "Context is a set of words and their values.", - "uuid": "f6dcf1e4-df5c-4cb9-bf35-26ff883ae796" - }, - { - "slug": "view", - "name": "View", - "blurb": "View is Red's module used for programming graphical user interface.", - "uuid": "e09fd445-ad55-4c04-a7f8-fa4b78e1cfbb" - }, - { - "slug": "vid", - "name": "VID", - "blurb": "VID is a dialect useful for easily defining GUI objects and layouts.", - "uuid": "e09fd445-ad55-4c04-a7f8-fa4b78e1cfbb" } ], "tags": [ @@ -111,7 +69,7 @@ "icon": "features-oop" }, { - "title": "Homoiconic", + "title": "Code is data", "content": "Red is its own meta-language and own data-format. Program can operate on it's own code.", "icon": "features-oop" }, @@ -139,7 +97,7 @@ "name": "Hello World", "status": "wip", "uuid": "1d2e9dab-d85e-4b30-b414-1ebd969475ad", - "practices": [], + "practices": ["basics", "script-header", "strings"], "prerequisites": [], "difficulty": 1 } diff --git a/exercises/practice/hello-world/.meta/tests.toml b/exercises/practice/hello-world/.meta/tests.toml new file mode 100644 index 0000000..e64aebe --- /dev/null +++ b/exercises/practice/hello-world/.meta/tests.toml @@ -0,0 +1,4 @@ +[canonical-tests] + +# Say Hi! +"af9ffe10-dc13-42d8-a742-e7bdafac449d" = true