- Lançado oficialmente como padrão ISO/IEC 1539-1:2023. PDF com 674 páginas
Novos recursos e mudanças
- Mudança no limite de comprimento
- O limite de comprimento de linha no formato de código-fonte livre foi aumentado para 10.000 caracteres.
- O limite de 255 linhas de continuação foi removido, e o limite de comprimento de instrução foi aumentado para 1 milhão de caracteres.
- Comprimento de variáveis de caractere
- Quando uma variável alocável de comprimento adiado é definida por atribuição interna, ela é alocada com o comprimento correto pelo processador.
- Expressões condicionais
- Adicionadas expressões condicionais (na forma
value = (a > 0.0 ? a : 0.0)).
- Argumentos condicionais
- Adicionados argumentos condicionais; todos os argumentos devem ter o mesmo rank, tipo e kind.
- Arrays com componentes coarray
- Objetos de tipos com componentes coarray podem ser arrays ou alocáveis, mas o próprio coarray não é.
- Put with Notify
- Recurso popular na comunidade SHMEM, por exemplo:
x[10 notify=nx] = y.
- Reduction Specifier no Do Concurrent
- Uso de variáveis de redução (
reduction variable) dentro da instrução do concurrent.
- Procedimentos simples
- Um procedimento puro (
pure procedure) altera variáveis apenas por meio de argumentos, enquanto um procedimento simples (simple procedure) referencia variáveis apenas por meio de argumentos.
- Tipos enumerados
- Suporte a novos tipos enumerados (
enum bind(c) etc.).
- Uso de subscritos com array de inteiros
- É possível usar arrays de inteiros para especificar vários subscritos.
- Uso de rank e limites com array de inteiros
- Uso de rank e limite inferior em arrays de forma assumida e arrays de forma explícita.
- Melhorias no System Clock
- Os argumentos de
system clock do Fortran 2018 foram aprimorados para oferecer suporte a vários kinds de inteiro.
- Constantes nomeadas adicionais de tipos intrínsecos
- Novas constantes nomeadas adicionadas ao módulo
iso_fortran_env.
- Melhorias no procedimento intrínseco c_f_pointer
- Adicionado um argumento opcional extra para especificar o limite inferior em
c_f_pointer.
- Uso expandido de constantes BOZ
- Constantes binárias, octais e hexadecimais (BOZ) podem ser usadas em inicialização, construtores de array, construtores de enumeração etc.
- Funções trigonométricas que operam em graus
- Funções trigonométricas que calculam valores em graus (
sind(x), cosd(x), tand(x) etc.).
- Funções trigonométricas que operam em unidades de meia volta
- Funções trigonométricas que calculam valores em unidades de meia volta (180 graus) (
sinpi(x), cospi(x), tanpi(x) etc.).
- Seleção de kind lógico
- Função
selected_logical_kind(bits) para especificar o tamanho de armazenamento do tipo lógico.
- Recursos obsoletos e removidos aos quais não houve novas adições
- Nenhum novo recurso foi adicionado à lista de recursos obsoletos e removidos.
1 comentários
O resumo dos novos recursos foi tirado de "The new features of Fortran 2023", apresentado por John Reid.
Ao enviar esse PDF para o PDF GPT (requer assinatura do GPT Plus), ele faz um bom resumo.
Fortran - linguagem de programação paralela de alto desempenho