obeam icon indicating copy to clipboard operation
obeam copied to clipboard

List missing features related to absform

Open yutopp opened this issue 6 years ago • 5 comments

Remove WIP label when all features are implemented.

yutopp avatar Dec 07 '18 10:12 yutopp

This list quotes from The Abstract Format in Erlang Run-Time System Application (ERTS) User's Guide Version 10.2 (2019/02/21).

Module Declarations and Forms

  • [x] module declaration
  • [x] -export attribute
  • [x] -import attribute
  • [x] -module attribute
  • [x] -file attribute
  • [x] function declaration
  • [x] function specification (#92)
  • [x] function specification with module
  • [x] record declaration
  • [x] type declaration
  • [x] wild attribute

Record Fields

  • [x] field name A
  • [x] field name with default value A = E
  • [x] field name with type A :: T
  • [x] field name with default value and type A = E :: T

Representation of Parse Errors and End-of-File

(snip)

Atomic Literals

  • [x] atom literal
  • [x] character literal
  • [x] float literal (#82)
  • [x] integer literal
  • [x] string literal

Patterns

  • [x] atomic literal
  • [x] bitstring pattern (#75)
  • [x] compound pattern (#90)
  • [x] cons pattern
  • [x] map pattern
  • [x] nil pattern
  • [x] binary operator pattern (#88)
  • [x] unary operator pattern (#88)
  • [x] parenthesized pattern
  • [x] record field index pattern (#77)
  • [x] record pattern (#77)
  • [x] tuple pattern
  • [x] universal pattern
  • [x] variable pattern

Expressions

  • [x] atomic literal
  • [x] bitstring comprehension (#87)
  • [x] bitstring constructor (#75)
  • [x] block expression (#81)
  • [x] case expression
  • [x] catch expression (#73)
  • [x] local fun expression
  • [x] remote fun expression
  • [x] anonymous function expression
  • [x] named function expression
  • [x] local function call
  • [x] remote function call
  • [x] if expression (#72)
  • [x] list comprehension
  • [x] map creation
  • [x] map update
  • [x] match operator expression
  • [x] nil
  • [x] binary operator expression
  • [x] unary operator expression (#83)
  • [x] parenthesized expression
  • [x] receive expression (#85)
  • [x] receive expression with after (#85)
  • [x] record creation (#74)
  • [x] record field access (#74)
  • [x] record field index (#74)
  • [x] record update (#74)
  • [x] tuple skeleton
  • [x] try-catch expression (#71)
  • [x] try-of-catch expression (#71)
  • [x] try-after expression (#71)
  • [x] try-of-after expression (#71)
  • [x] try-catch-after expression (#71)
  • [x] try-of-catch-after expression (#71)
  • [x] variable

Qualifiers

  • [x] filter
  • [x] generator
  • [x] bitstring generator (#87)

Bitstring Element Type Specifiers

  • [x] type specifier (#75)
  • [x] type specifier with value (#75)

Associations

  • [x] association K => V
  • [x] association K := V

Clauses

  • [x] case clause
  • [x] case clause with guard sequence
  • [x] catch clause (#71)
  • [x] catch clause with exception class (#71)
  • [x] catch clause with exception class and stacktrace (#71)
  • [x] catch clause with guard sequence (#71)
  • [x] catch clause with exception class and guard sequence (#71)
  • [x] catch clause with exception class, stacktrace, and guard sequence (#71)
  • [x] function clause
  • [x] function clause with guard sequence
  • [x] if clause (#72)

Guards

  • [x] atomic literal
  • [x] bitstring constructor (#75)
  • [x] cons skeleton (#84)
  • [x] local function call
  • [x] remote function call (#94)
  • [x] map creation
  • [x] map update
  • [x] nil (#84)
  • [x] binary operator guard test
  • [x] unary operator guard test (#91)
  • [x] parenthesized guard test
  • [x] record creation (#76)
  • [x] record field access (#76)
  • [x] record field index (#76)
  • [x] tuple skeleton
  • [x] variable pattern

Types

  • [x] annotated type
  • [x] atom, character, or integer literal
  • [x] bitstring type
  • [x] empty list type
  • [x] fun type fun()
  • [x] fun type fun((...) -> T
  • [x] fun type with function type
  • [x] integer range type
  • [x] any map type
  • [x] map type with associations
  • [x] binary operator type
  • [x] unary operator type
  • [x] parenthesized type
  • [x] predefined type
  • [x] record type (#78)
  • [x] remote type (#86)
  • [x] any tuple type
  • [x] tuple type with type of elements
  • [x] type union
  • [x] type variable
  • [x] user-defined type

Function Types

  • [x] constrained function type
  • [x] function type

Function Constraints

  • [x] constraint

Association Types

  • [x] association type K => V
  • [x] association type K := V

Record Field Type

  • [x] record field type (#78)

amutake avatar Feb 21 '19 07:02 amutake

Thank you very much! Should we fill check boxes for features which have been already implemented?

yutopp avatar Feb 21 '19 07:02 yutopp

Yes! I'm checking now!

amutake avatar Feb 21 '19 07:02 amutake

Oops, sorry🙏 I'll also do that when I noticed missing features.

yutopp avatar Feb 21 '19 07:02 yutopp

All features are implemented!! 🎉 🎉

amutake avatar Mar 05 '19 06:03 amutake