www.unison-lang.org
Open in
urlscan Pro
2a05:d014:58f:6202::64
Public Scan
Submitted URL: http://www.unison-lang.org/
Effective URL: https://www.unison-lang.org/
Submission: On April 22 via api from US — Scanned from DE
Effective URL: https://www.unison-lang.org/
Submission: On April 22 via api from US — Scanned from DE
Form analysis
2 forms found in the DOM<form class="aa-Form" action="" novalidate="" role="search">
<div class="aa-InputWrapperPrefix"><span class="icon icon-search">
<svg width="100%" height="100%" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M6 10C8.20914 10 10 8.20914 10 6C10 3.79086 8.20914 2 6 2C3.79086 2 2 3.79086 2 6C2 8.20914 3.79086 10 6 10ZM6 11C8.76142 11 11 8.76142 11 6C11 3.23858 8.76142 1 6 1C3.23858 1 1 3.23858 1 6C1 8.76142 3.23858 11 6 11Z"
fill="currentColor"></path>
<path
d="M9.30008 8.94652C9.49534 8.75126 9.81192 8.75126 10.0072 8.94652L13.0793 12.0186C13.2745 12.2139 13.2745 12.5304 13.0793 12.7257C12.884 12.921 12.5674 12.921 12.3722 12.7257L9.30008 9.65362C9.10482 9.45836 9.10482 9.14178 9.30008 8.94652Z"
fill="currentColor"></path>
<path
d="M3.50032 6C3.224 6 2.99575 5.77447 3.04162 5.50199C3.09728 5.1714 3.20815 4.85128 3.37072 4.5554C3.61392 4.11274 3.96495 3.73866 4.39125 3.46782C4.81756 3.19698 5.30534 3.03815 5.80938 3.00606C6.1463 2.98461 6.4832 3.02025 6.80611 3.11033C7.07227 3.18458 7.17945 3.48702 7.06205 3.73716C6.94465 3.9873 6.64623 4.08789 6.37481 4.03609C6.21016 4.00466 6.04157 3.99395 5.87296 4.00468C5.53704 4.02607 5.21196 4.13192 4.92785 4.31242C4.64374 4.49292 4.40979 4.74223 4.24771 5.03724C4.16636 5.18531 4.10443 5.34248 4.06292 5.50488C3.99449 5.77259 3.77664 6 3.50032 6Z"
fill="currentColor"></path>
</svg>
</span></div>
<div class="aa-InputWrapper"><input class="aa-Input" aria-autocomplete="both" aria-labelledby="autocomplete-0-label" id="autocomplete-0-input" autocomplete="off" autocorrect="off" autocapitalize="off" enterkeyhint="search" spellcheck="false"
placeholder="Search" maxlength="512" type="search"></div>
<div class="aa-InputWrapperSuffix"><button class="aa-ClearButton" type="reset" title="Clear" hidden=""><svg class="aa-ClearIcon" viewBox="0 0 24 24" width="18" height="18" fill="currentColor">
<path
d="M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z">
</path>
</svg></button></div>
</form>
POST https://app.convertkit.com/forms/5952805/subscriptions
<form action="https://app.convertkit.com/forms/5952805/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="5952805" data-uid="baa9970f1b" data-format="inline" data-version="5"
data-options="{"settings":{"after_subscribe":{"action":"message","success_message":"Success! Now check your email to confirm your subscription.","redirect_url":""},"analytics":{"google":null,"fathom":null,"facebook":null,"segment":null,"pinterest":null,"sparkloop":null,"googletagmanager":null},"modal":{"trigger":"timer","scroll_percentage":null,"timer":5,"devices":"all","show_once_every":15},"powered_by":{"show":false,"url":"https://convertkit.com/features/forms?utm_campaign=poweredby&utm_content=form&utm_medium=referral&utm_source=dynamic"},"recaptcha":{"enabled":false},"return_visitor":{"action":"show","custom_content":""},"slide_in":{"display_in":"bottom_right","trigger":"timer","scroll_percentage":null,"timer":5,"devices":"all","show_once_every":15},"sticky_bar":{"display_in":"top","trigger":"timer","scroll_percentage":null,"timer":5,"devices":"all","show_once_every":15}},"version":"5"}">
<div class="newsletter-form">
<input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email">
<button data-element="submit" class="formkit-submit formkit-submit button primary contained medium"> Subscribe </button>
</div>
<p class="no-spam">We won't send you spam. Unsubscribe at any time.</p>
<span data-element="errors"></span>
</form>
Text Content
Unison Logo Unison Docs Community Ecosystem Roadmap Cloud Search Blog Newsletter Get regular updates from the Unison team Subscribe We won't send you spam. Unsubscribe at any time. Unison Discord Mastodon @unison Twitter @unisonweb YouTube @unisonlanguage GitHub @unisonweb/unison Browse and host code on Unison Share Managed cloud platform for Unison services and batch jobs UNISON -------------------------------------------------------------------------------- A NEW APPROACH TO DISTRIBUTED PROGRAMMING No more writing encoders and decoders at every network boundary. Say where you want computations to run and it happens 🔮 — Dependencies are deployed on the fly. Learn More REFACTORING Your codebase is always live and typechecks, even in the middle of a refactoring. Unison has structured refactoring sessions, not a big misleading list of type errors. Learn More DURABLE STORAGE No more writing translation code between your values and the storage layer. Directly store values and unpersist them later without fear of dependency conflicts or version mismatches. Learn More STORING CODE Other tools try to recover structure from text; Unison stores code in a database. This eliminates builds, provides for instant nonbreaking renames, type-based search, and lots more. Learn More DEPENDENCIES Many dependency conflicts arise from definitions competing for the same names. Since Unison references code by hash instead of by name, an entire class of conflicts can be eliminated. Learn More Unison is a friendly programming language from the future: statically-typed, functional, and a lot of fun 😄 $ On Apple Silicon? You'll need Rosetta to run Unison. $ Download the latest release from GitHub HOW DOES UNISON CODE LOOK? 💡 All parts of the code examples are interactive. Click a dependency to read its definition and docs. 👋 HELLO WORLD The classic Hello World program in Unison is as simple as a call to printLine. helloWorld : '{IO, Exception} () helloWorld : '{IO, Exception} () helloWorld _ = printLine "Hello World" {IO, Exception}indicates which abilities the program needs to do I/O and throw exceptions. ' is used to denote a delayed computation. Learn more about Abilities. DISTRIBUTED MAP-REDUCE With a few lines of code, you can perform a distributed map-reduce using theRemoteability. distributedEx : Seq k Nat ->{Remote} Nat distributedEx : Seq k Nat ->{Remote} Nat distributedEx dseq = dseq |> Seq.map (x -> x + 1) |> Seq.filter (x -> mod x 7 == 0) |> Seq.reduce 0 (+) Learn more about Remote and working withdistributed datasets in Unison. HTTP REQUEST Perform effectful code, like HTTP requests withAbilitiesandAbility handlers. Checkout more HTTP examples in thehttp library. httpEx : '{IO, Exception} Response httpEx : '{IO, Exception} Response httpEx _ = host = HostName "unison-lang.org" web = Authority None host None path = Path.root / "docs" uri = Uri https (Some web) path Query.empty None req = Request.get uri handle request req with Http.handler WHAT'S IT LIKE TO WRITE UNISON CODE? The Unison Codebase Manager (UCM) is by your side as you write, guiding you through the development process; adding, updating, and running your programs. Play demo Stop playback Restart demo Editor : ~/scratch.u Terminal : UCM - Unison Codebase Manager 👋 Welcome to Unison! .> Unison at a glance: get a complete overview of Unison with many more examples. Learn More © 2024 Unison Computing, a public benefit corp and contributors. Unison Slack Mastodon @unison