Repository files navigation

Welcome to Mojo 🔥

Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time.

This repo includes source code for:

This repo has two primary branches:

To learn more about Mojo, see the Mojo Manual.

Installing Mojo

Latest Released

To install the last released build of Mojo, follow the guide to Get started with Mojo.

Latest Nightly

The nightly Mojo builds are subject to breakage and provide an inside view of how the development of Mojo is progressing. Use at your own risk and be patient!

To get nightly builds, see the same instructions to Get started with Mojo, but when you create your project, instead use the following magic init command to set the conda package channel to max-nightly:

magic init hello-world-nightly --format mojoproject \
-c conda-forge -c https://conda.modular.com/max-nightly

Or, if you're using conda, add the https://conda.modular.com/max-nightly channel to your environment.yaml file. For example:

[project]name = "Mojo nightly example"channels = ["conda-forge", "https://conda.modular.com/max-nightly"]platforms = ["osx-arm64", "linux-aarch64", "linux-64"][dependencies]max = "*"

And when you clone this repo, switch to the nightly branch because the main branch might not be compatible with nightly builds:

git clone https://github.com/modularml/mojo.git
git checkout nightly

Contributing

When you want to report issues or request features, please create a GitHub issue here. See here for guidelines on filing good bugs.

We welcome contributions to this repo on the nightly branch. If you’d like to contribute to Mojo, please first read our Contributor Guide.

For more general questions or to chat with other Mojo developers, check out our Discord.

License

This repository and its contributions are licensed under the Apache License v2.0 with LLVM Exceptions (see the LLVM License). MAX and Mojo usage and distribution are licensed under the MAX & Mojo Community License.

Thanks to our contributors

About

The Mojo Programming Language

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Welcome to Mojo 🔥

Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time.

This repo includes source code for:

This repo has two primary branches:

To learn more about Mojo, see the Mojo Manual.

Installing Mojo

Latest Released

To install the last released build of Mojo, follow the guide to Get started with Mojo.

Latest Nightly

The nightly Mojo builds are subject to breakage and provide an inside view of how the development of Mojo is progressing. Use at your own risk and be patient!

To get nightly builds, see the same instructions to Get started with Mojo, but when you create your project, instead use the following magic init command to set the conda package channel to max-nightly:

magic init hello-world-nightly --format mojoproject \
-c conda-forge -c https://conda.modular.com/max-nightly

Or, if you're using conda, add the https://conda.modular.com/max-nightly channel to your environment.yaml file. For example:

[project]name = "Mojo nightly example"channels = ["conda-forge", "https://conda.modular.com/max-nightly"]platforms = ["osx-arm64", "linux-aarch64", "linux-64"][dependencies]max = "*"

And when you clone this repo, switch to the nightly branch because the main branch might not be compatible with nightly builds:

git clone https://github.com/modularml/mojo.git
git checkout nightly

Contributing

When you want to report issues or request features, please create a GitHub issue here. See here for guidelines on filing good bugs.

We welcome contributions to this repo on the nightly branch. If you’d like to contribute to Mojo, please first read our Contributor Guide.

For more general questions or to chat with other Mojo developers, check out our Discord.

License

This repository and its contributions are licensed under the Apache License v2.0 with LLVM Exceptions (see the LLVM License). MAX and Mojo usage and distribution are licensed under the MAX & Mojo Community License.

Thanks to our contributors

About

The Mojo Programming Language

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Welcome to Mojo 🔥

Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time.

This repo includes source code for:

This repo has two primary branches:

To learn more about Mojo, see the Mojo Manual.

Installing Mojo

Latest Released

To install the last released build of Mojo, follow the guide to Get started with Mojo.

Latest Nightly

The nightly Mojo builds are subject to breakage and provide an inside view of how the development of Mojo is progressing. Use at your own risk and be patient!

To get nightly builds, see the same instructions to Get started with Mojo, but when you create your project, instead use the following magic init command to set the conda package channel to max-nightly:

magic init hello-world-nightly --format mojoproject \
-c conda-forge -c https://conda.modular.com/max-nightly

Or, if you're using conda, add the https://conda.modular.com/max-nightly channel to your environment.yaml file. For example:

[project]name = "Mojo nightly example"channels = ["conda-forge", "https://conda.modular.com/max-nightly"]platforms = ["osx-arm64", "linux-aarch64", "linux-64"][dependencies]max = "*"

And when you clone this repo, switch to the nightly branch because the main branch might not be compatible with nightly builds:

git clone https://github.com/modularml/mojo.git
git checkout nightly

Contributing

When you want to report issues or request features, please create a GitHub issue here. See here for guidelines on filing good bugs.

We welcome contributions to this repo on the nightly branch. If you’d like to contribute to Mojo, please first read our Contributor Guide.

For more general questions or to chat with other Mojo developers, check out our Discord.

License

This repository and its contributions are licensed under the Apache License v2.0 with LLVM Exceptions (see the LLVM License). MAX and Mojo usage and distribution are licensed under the MAX & Mojo Community License.

Thanks to our contributors

About

The Mojo Programming Language

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Welcome to Mojo 🔥

Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time.

This repo includes source code for:

This repo has two primary branches:

To learn more about Mojo, see the Mojo Manual.

Installing Mojo

Latest Released

To install the last released build of Mojo, follow the guide to Get started with Mojo.

Latest Nightly

The nightly Mojo builds are subject to breakage and provide an inside view of how the development of Mojo is progressing. Use at your own risk and be patient!

To get nightly builds, see the same instructions to Get started with Mojo, but when you create your project, instead use the following magic init command to set the conda package channel to max-nightly:

magic init hello-world-nightly --format mojoproject \
-c conda-forge -c https://conda.modular.com/max-nightly

Or, if you're using conda, add the https://conda.modular.com/max-nightly channel to your environment.yaml file. For example:

[project]name = "Mojo nightly example"channels = ["conda-forge", "https://conda.modular.com/max-nightly"]platforms = ["osx-arm64", "linux-aarch64", "linux-64"][dependencies]max = "*"

And when you clone this repo, switch to the nightly branch because the main branch might not be compatible with nightly builds:

git clone https://github.com/modularml/mojo.git
git checkout nightly

Contributing

When you want to report issues or request features, please create a GitHub issue here. See here for guidelines on filing good bugs.

We welcome contributions to this repo on the nightly branch. If you’d like to contribute to Mojo, please first read our Contributor Guide.

For more general questions or to chat with other Mojo developers, check out our Discord.

License

This repository and its contributions are licensed under the Apache License v2.0 with LLVM Exceptions (see the LLVM License). MAX and Mojo usage and distribution are licensed under the MAX & Mojo Community License.

Thanks to our contributors

About

The Mojo Programming Language

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Welcome to Mojo 🔥

Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time.

This repo includes source code for:

This repo has two primary branches:

To learn more about Mojo, see the Mojo Manual.

Installing Mojo

Latest Released

To install the last released build of Mojo, follow the guide to Get started with Mojo.

Latest Nightly

The nightly Mojo builds are subject to breakage and provide an inside view of how the development of Mojo is progressing. Use at your own risk and be patient!

To get nightly builds, see the same instructions to Get started with Mojo, but when you create your project, instead use the following magic init command to set the conda package channel to max-nightly:

magic init hello-world-nightly --format mojoproject \
-c conda-forge -c https://conda.modular.com/max-nightly

Or, if you're using conda, add the https://conda.modular.com/max-nightly channel to your environment.yaml file. For example:

[project]name = "Mojo nightly example"channels = ["conda-forge", "https://conda.modular.com/max-nightly"]platforms = ["osx-arm64", "linux-aarch64", "linux-64"][dependencies]max = "*"

And when you clone this repo, switch to the nightly branch because the main branch might not be compatible with nightly builds:

git clone https://github.com/modularml/mojo.git
git checkout nightly

Contributing

When you want to report issues or request features, please create a GitHub issue here. See here for guidelines on filing good bugs.

We welcome contributions to this repo on the nightly branch. If you’d like to contribute to Mojo, please first read our Contributor Guide.

For more general questions or to chat with other Mojo developers, check out our Discord.

License

This repository and its contributions are licensed under the Apache License v2.0 with LLVM Exceptions (see the LLVM License). MAX and Mojo usage and distribution are licensed under the MAX & Mojo Community License.

Thanks to our contributors

About

The Mojo Programming Language

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Welcome to Mojo 🔥

Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time.

This repo includes source code for:

This repo has two primary branches:

To learn more about Mojo, see the Mojo Manual.

Installing Mojo

Latest Released

To install the last released build of Mojo, follow the guide to Get started with Mojo.

Latest Nightly

The nightly Mojo builds are subject to breakage and provide an inside view of how the development of Mojo is progressing. Use at your own risk and be patient!

To get nightly builds, see the same instructions to Get started with Mojo, but when you create your project, instead use the following magic init command to set the conda package channel to max-nightly:

magic init hello-world-nightly --format mojoproject \
-c conda-forge -c https://conda.modular.com/max-nightly

Or, if you're using conda, add the https://conda.modular.com/max-nightly channel to your environment.yaml file. For example:

[project]name = "Mojo nightly example"channels = ["conda-forge", "https://conda.modular.com/max-nightly"]platforms = ["osx-arm64", "linux-aarch64", "linux-64"][dependencies]max = "*"

And when you clone this repo, switch to the nightly branch because the main branch might not be compatible with nightly builds:

git clone https://github.com/modularml/mojo.git
git checkout nightly

Contributing

When you want to report issues or request features, please create a GitHub issue here. See here for guidelines on filing good bugs.

We welcome contributions to this repo on the nightly branch. If you’d like to contribute to Mojo, please first read our Contributor Guide.

For more general questions or to chat with other Mojo developers, check out our Discord.

License

This repository and its contributions are licensed under the Apache License v2.0 with LLVM Exceptions (see the LLVM License). MAX and Mojo usage and distribution are licensed under the MAX & Mojo Community License.

Thanks to our contributors

About

The Mojo Programming Language

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Welcome to Mojo 🔥

Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time.

This repo includes source code for:

This repo has two primary branches:

To learn more about Mojo, see the Mojo Manual.

Installing Mojo

Latest Released

To install the last released build of Mojo, follow the guide to Get started with Mojo.

Latest Nightly

The nightly Mojo builds are subject to breakage and provide an inside view of how the development of Mojo is progressing. Use at your own risk and be patient!

To get nightly builds, see the same instructions to Get started with Mojo, but when you create your project, instead use the following magic init command to set the conda package channel to max-nightly:

magic init hello-world-nightly --format mojoproject \
-c conda-forge -c https://conda.modular.com/max-nightly

Or, if you're using conda, add the https://conda.modular.com/max-nightly channel to your environment.yaml file. For example:

[project]name = "Mojo nightly example"channels = ["conda-forge", "https://conda.modular.com/max-nightly"]platforms = ["osx-arm64", "linux-aarch64", "linux-64"][dependencies]max = "*"

And when you clone this repo, switch to the nightly branch because the main branch might not be compatible with nightly builds:

git clone https://github.com/modularml/mojo.git
git checkout nightly

Contributing

When you want to report issues or request features, please create a GitHub issue here. See here for guidelines on filing good bugs.

We welcome contributions to this repo on the nightly branch. If you’d like to contribute to Mojo, please first read our Contributor Guide.

For more general questions or to chat with other Mojo developers, check out our Discord.

License

This repository and its contributions are licensed under the Apache License v2.0 with LLVM Exceptions (see the LLVM License). MAX and Mojo usage and distribution are licensed under the MAX & Mojo Community License.

Thanks to our contributors

About

The Mojo Programming Language

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Welcome to Mojo 🔥

Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time.

This repo includes source code for:

This repo has two primary branches:

To learn more about Mojo, see the Mojo Manual.

Installing Mojo

Latest Released

To install the last released build of Mojo, follow the guide to Get started with Mojo.

Latest Nightly

The nightly Mojo builds are subject to breakage and provide an inside view of how the development of Mojo is progressing. Use at your own risk and be patient!

To get nightly builds, see the same instructions to Get started with Mojo, but when you create your project, instead use the following magic init command to set the conda package channel to max-nightly:

magic init hello-world-nightly --format mojoproject \
-c conda-forge -c https://conda.modular.com/max-nightly

Or, if you're using conda, add the https://conda.modular.com/max-nightly channel to your environment.yaml file. For example:

[project]name = "Mojo nightly example"channels = ["conda-forge", "https://conda.modular.com/max-nightly"]platforms = ["osx-arm64", "linux-aarch64", "linux-64"][dependencies]max = "*"

And when you clone this repo, switch to the nightly branch because the main branch might not be compatible with nightly builds:

git clone https://github.com/modularml/mojo.git
git checkout nightly

Contributing

When you want to report issues or request features, please create a GitHub issue here. See here for guidelines on filing good bugs.

We welcome contributions to this repo on the nightly branch. If you’d like to contribute to Mojo, please first read our Contributor Guide.

For more general questions or to chat with other Mojo developers, check out our Discord.

License

This repository and its contributions are licensed under the Apache License v2.0 with LLVM Exceptions (see the LLVM License). MAX and Mojo usage and distribution are licensed under the MAX & Mojo Community License.

Thanks to our contributors

About

The Mojo Programming Language

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages