How is ML (and its variants e.g. SML) a metalanguage. What is the object language that ML describes? Is it just because functions are considered values, therefore code is treated in the same way as data?
Why is ML called Meta-Language?
453 Views Asked by Gepapado At
2
There are 2 best solutions below
0
Drup
On
It actually comes from its original use case.
ML was designed as a language to write theorem provers. In this case, ML is the programming language that you use to describe the theory. It's the language above the theory: the meta-language. Or, as Milner would put it in the original paper:
We also discuss extending these results to richer languages; a type-checking algorithm based on W is in fact already implemented and working, for the metalanguage ML in the Edinburgh LCF system.
The name stuck, so now it's called like this, even though it doesn't describe an object language in the general sense.
Related Questions in METAPROGRAMMING
- Boost/C++ eval_if fails
- create objects in ruby with our own custom method in ruby
- Intercept and modify user input in Common Lisp
- How to produce generic time interval views of PostgreSQL events table?
- function template parametrized by other function with different number of arguments
- How do I change the context of lambda?
- Is there a way to dynamically add a scope to an active record class?
- Dealing with end keyword in macros for array indices
- Using meta programming to select member variables
- Checking non-virtual inheritance during compile time
- C++ convert string literal to multi-character literal at compile time
- I want to use one controller and html.erb files for my dynamic table. How I will do it in Ruby On Rails?
- Type function that returns a tuple of chosen types
- Is it possible to define class methods within `class_eval`?
- Why isn't it possible to refer to meta fields or methods in Java?
Related Questions in SML
- SML - Find same elements in a string
- ML currying and anonymous functions
- Standard ML / NJ: Loading in file of functions
- SML - Unzip tuples in one list
- mlton gives library-related error
- Functors with multiple inputs in Standard ML
- Standard ML: Getting Last in List
- Standard ML: Iterative vs. Recursive
- Wildcards in Standard ML
- SML - Find element in a list and substitute it
- How to keep elements in list through out the program in SML?
- Why to replace `in` with `let` in sml?
- Why can't I compare reals in Standard ML?
- sml map and structure using recursion
- ML-Error in using exceptions
Related Questions in SMLNJ
- How to keep elements in list through out the program in SML?
- Why to replace `in` with `let` in sml?
- Why can't I compare reals in Standard ML?
- ML-Error in using exceptions
- Can not run REPL sml-mode in Emacs (Mac)
- Increase print depth for lists in SML/NJ
- SML/NJ Error: operator and operand don't agree
- Moving elements in a priority queue to a lower level
- How to get element of new type in ML?
- SML : Dequeue a list of tuples
- Format exception SML
- SML: How to separate a list into a tuple of 2 lists?
- SML finding a sum of squares/halves using other functions
- Implementing next_permutation in sml?
- How to easily shuffle a list in sml?
Related Questions in ML
- Missing Option.default in OCaml 4.01.0
- Standard ML: Iterative vs. Recursive
- Wildcards in Standard ML
- sml map and structure using recursion
- ML-Error in using exceptions
- OCaml option return value and option matching
- Using foldr function in ML to merge a list of lists
- How to get element of new type in ML?
- haskell implementation of a sequence
- Checking elements of a list in SML
- What is the difference between 'a and ''a in SML?
- ERROR: Inserting EQUALOP
- Standard ML Proof of soundness?
- Is it possible to raise exceptions with precise stream location information in StringCvt.scanInt functions?
- Need explanation of Syntax of CML
Related Questions in METALANGUAGE
- Mako: def composition (at render time) not evaluating properly
- Fragment function seems properly written but Metal complains
- Drawing a user-defined tree
- getting ''a type instead of 'a in sml
- Understanding "let" & "in" in ML programming
- Why is ML called Meta-Language?
- Silhouette Outline Shader Modifier via Metal in SceneKit
- Metalanguage to define workflow of HTML application
- Best way to implement a meta language compiling down to PHP
- Bitwise structure definition language generating c++ code
- Understanding terminology used to describe the DOM
- Programmatically convert synchronous code to asynchronous code
- In Computer Science(especially in metalanguages using EBNF) , do the symbols -> and <- have specific meaning?
- Module meta-language in Racket
- @result_list = grep { test($_) } @unfiltered_list in other languages?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
ML originally was the meta language for the LCF theorem prover developed by Milner in the 70s. You could use it define and perform proofs in this system, e.g., by writing proof tactics in ML. See also the Wikipedia article