Skip to main content

Crate oak_haskell

Crate oak_haskell 

Source
Expand description

ยง๐Ÿ› ๏ธ Developer Guide

This directory contains the core logic implementation of the project. Below are instructions for a quick start.

ยง๐Ÿšฆ Quick Start

ยงCore API Usage

// Example: Basic calling workflow
fn main() {
    // 1. Initialization
    // 2. Execute core logic
    // 3. Handle returned results
}

ยง๐Ÿ” Module Description

  • lib.rs: Exports public interfaces and core traits.
  • parser/ (if exists): Implements specific syntax parsing logic.
  • ast/ (if exists): Defines the syntax tree structure.

ยง๐Ÿ—๏ธ Architecture Design

The project follows the general architectural specifications of the Oak ecosystem, emphasizing:

  1. Immutability: Uses the Green/Red Tree structure to ensure efficient sharing of syntax trees.
  2. Fault Tolerance: Core logic is highly inclusive of erroneous input.
  3. Scalability: Convenient for downstream tools to perform secondary development. Haskell support for the Oak language framework.

Re-exportsยง

pub use crate::ast::HaskellRoot;
pub use crate::builder::HaskellBuilder;
pub use crate::lsp::highlighter::HaskellHighlighter;
pub use crate::lsp::HaskellLanguageService;
pub use crate::mcp::serve_haskell_mcp;

Modulesยง

ast
Abstract Syntax Tree (AST) definitions for Haskell.
builder
Incremental tree builder for Haskell.
lsp
Language Server Protocol (LSP) and editor integration for Haskell.
mcp
Model Context Protocol (MCP) support for Haskell.

Structsยง

HaskellLanguage
Haskell language definition.
HaskellLexer
Lexer for the Haskell language.
HaskellParser
A parser for the Haskell language.

Enumsยง

HaskellElementType
Haskell element types. Represents an element type in a Haskell source file.
HaskellTokenType
Haskell token types. Token types for the Haskell language.

Type Aliasesยง

HaskellToken
Haskell token types. A token in the Haskell language.