├── .editorconfig
├── .gitignore
├── .gitmodules
├── .prettierrc
├── .gitattributes
├── .prettierignore
├── Makefile
├── .scripts
├── build.sh
└── build.ps1
├── examples
├── multiline_string.🤡
└── hello.🤡
├── LICENSE
└── README.md
/.editorconfig:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | all: build
2 |
3 | build:
4 | @echo "Hello 🤡"
--------------------------------------------------------------------------------
/.scripts/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # 🤡
3 | cd .. && make
4 |
--------------------------------------------------------------------------------
/.scripts/build.ps1:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pwsh
2 | # 🤡
3 | cd ..
4 | make
5 |
--------------------------------------------------------------------------------
/examples/multiline_string.🤡:
--------------------------------------------------------------------------------
1 | mod main
2 |
3 | const std = import("std")
4 |
5 | use string.{trim_space, dedent}
6 |
7 | fn main() {
8 | const println = std.log.println
9 | const $html = std.fmt.$f
10 |
11 | const name = "Mom"
12 | const html_content = html`
13 |
16 | `.dedent().trim_space()
17 | println(html_content)
18 | }
19 |
20 | /*
21 | ./multiline_string
22 |
25 | */
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Gizmo
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/examples/hello.🤡:
--------------------------------------------------------------------------------
1 | mod main
2 |
3 | const (
4 | std = import("std")
5 | println = std.log.println
6 | $f = std.fmt.$f
7 | )
8 |
9 | const (
10 | default_country = "Bolivia"
11 | default_age: u32 = 20
12 | default_gender = Gender.pizza
13 | )
14 |
15 | pub enum Gender {
16 | male = "male"
17 | female = "female"
18 | pizza = "pizza"
19 | banana = "banana"
20 | other = "other"
21 | }
22 |
23 | class Human {
24 | pub name: string
25 | age: u32
26 | pun mut gender: Gender
27 | married: bool = false
28 | pub mut country: string
29 |
30 | Human( "🤡" better than "🔥" —— [Node.js v18.16.0](https://nodejs.org/download/release/v18.16.0/)
19 |
20 | ## 💡 Examples
21 |
22 |
23 |
24 | ```🤡
25 | // hello.🤡
26 | mod main
27 |
28 | const (
29 | std = import("std")
30 | println = std.log.println
31 | $f = std.fmt.$f
32 | )
33 |
34 | const (
35 | default_country = "Bolivia"
36 | default_age: u32 = 20
37 | default_gender = Gender.pizza
38 | )
39 |
40 | pub enum Gender {
41 | male = "male"
42 | female = "female"
43 | pizza = "pizza"
44 | banana = "banana"
45 | other = "other"
46 | }
47 |
48 | class Human {
49 | pub name: string
50 | age: u32
51 | pun mut gender: Gender
52 | married: bool = false
53 | pub mut country: string
54 |
55 | Human(
103 | Hi {name}
104 |
105 | `.dedent().trim_space()
106 | println(html_content)
107 | }
108 |
109 | /*
110 | ./multiline_string
111 |
114 | */
115 | ```
116 |
117 |
118 |
119 | ## 🤝 Credits
120 |
121 | MattoLanguage draws inspiration from the syntax of the following programming languages:
122 |
123 | - [Go](https://golang.org/)
124 | - [Zig](https://ziglang.org/)
125 | - [🦀](https://www.rust-lang.org/ "I don't want to be prosecuted")
126 |
127 | ## ❤️ Sponsors
128 |
129 | [](https://afdian.net/a/gizmo)
130 |
131 | ## ⚠️ Contact
132 |
133 | Feel free to reach out to us on Twitter: [@gizmo_ds](https://www.youtube.com/watch?v=dQw4w9WgXcQ)
134 |
--------------------------------------------------------------------------------