Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 161279
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T11:11:06+00:00 2026-05-11T11:11:06+00:00

What sets the two ML dialects apart?

  • 0

What sets the two ML dialects apart?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T11:11:07+00:00Added an answer on May 11, 2026 at 11:11 am

    There are lots of differences, some technical, some sociopolitical. I’ve tried to put more important differences first.

    • SML is a language with a definition and a standard. It is stable (and in fact has been frozen so it cannot evolve). Objective Caml is an implementation controlled by a small group at INRIA. It continues to evolve. (IMO the evolution is managed well.)

    • SML has many implementations; Caml has just one.

    • Objective Caml has a number of additional features, among which the most prominent are probably objects and polymorphic variants.

    • The two languages have dramatically different models of record types. Briefly, in Caml, names of record fields must be unique, where in SML, two different record types in the same scope may have field names in common. This quirk can make porting from SML to Caml a bit tricky.

    • There are quite a few syntactic differences.

    • The libraries and standard functions are dramatically different. The Caml library is very imperative, whereas the SML Standard Basis Library is more functional. For example, function composition is a top-level primitive in SML; it’s not part of the Caml library. The Caml string library doesn’t provide a fold function (at least not as of version 3.08). Implementations of many of the Caml List functions are unsafe for very long lists; they blow the stack.

    • The type systems are subtly different: In Caml, a type annotation on an expression e : ty is accepted if the type ty unifies with the type of e. In SML, e : ty is accepted only if the type ty is an instance of the type of e. This distinction renders the annotation in Caml much less useful in practice, because it is impossible to use a type annotation to insist that an expression is polymorphic.

    • Caml has a much more sane and sensible relationship between interfaces (called module types or signatures) and (concrete) implementations (called modules or structures) than SML. In SML pretty much anything goes and you have to rely on the programmer to establish good conventions. In Caml, good conventions are established and enforced by the compiler.

    • In SML, arithmetic operators are overloaded to apply to both floating-point and integer data. In Caml, operators are not overloaded; floating-point operators are notated with an extra dot.

    • In SML, the programmer can control the precedence and associtivity of infix operators. In Caml, these are determined by the first character of the operator’s name. This restriction limits the benefits of being able to define your own infix notation.

    For a more detailed analysis complete with editorial comment, you could also look at Adam Chlipala’s comparison page.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 220k
  • Answers 220k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer The list is called the LANANA Linux Device List, and… May 12, 2026 at 11:54 pm
  • Editorial Team
    Editorial Team added an answer It sounds like you want to overload the in operator?… May 12, 2026 at 11:54 pm
  • Editorial Team
    Editorial Team added an answer I would use a callback. If the data exists in… May 12, 2026 at 11:54 pm

Related Questions

I have two distinct sets of users in a database. I want to track
I have a SSRS 2008 report with a Error Bar chart. It plots dates
I've come up against a bit of a brick wall with Microsoft's .net XmlSerializer.
Sorry about a vague title, but here's what i am trying to do. I

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.