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

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="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;message&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}">
  <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