Skip to content

gmh5225/modo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

678 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

modo, Programming language

GitHub release (latest by date) GitHub go.mod Go version (subdirectory of monorepo) GitHub Workflow Status

modo is a statically typed, functional programming language inspired by Clojure and Haskell.

Designed with simplicity and clarity in mind, it embraces the principles that,

  • Explicit is better than implicit
  • there should be one — and preferably only one — obvious way to do it.

modo uses LLVM as its backend, enabling high-performance native code generation.

✨ Features

  • Functional-first language design
  • Static type system inspired by Haskell
  • Minimal, clean syntax inspired by Clojure
  • LLVM backend for native code generation

📦 Example: FizzBuzz in modo

(def fizzbuzz :: int => int => nil
  (fn [n max] 
    (let [fizz ::int 3
          buzz ::int 5]
      (if (= n max)
        nil
        (if (= 0 (mod n (* fizz buzz)))
          (prn "FizzBuzz")
          (if (= 0 (mod n fizz))
            (prn "Fizz")
            (if (= 0 (mod n buzz))
              (prn "Buzz")
              (prn n))))))
      (fizzbuzz (+ 1 n) max))))

(def main :: int
  (fn []
    (fizzbuzz 1 20)))

🛠️ Installation

To install modo, follow these steps: (TBD)

📚 Documentation

(TBD)

🤝 Contributing

(TBD)

📄 License

modo is provided under the MIT License.

About

modo is a statically typed, functional programming language inspired by Clojure and Haskell

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 82.8%
  • Shell 16.5%
  • Makefile 0.7%