2018-07-16 03:40:35 -07:00
|
|
|
#![feature(trace_macros)]
|
2019-03-12 01:05:10 -07:00
|
|
|
//#![feature(unrestricted_attribute_tokens)]
|
2021-10-21 12:33:56 -07:00
|
|
|
#![feature(box_patterns, box_syntax, iter_intersperse)]
|
2018-11-11 18:04:44 -08:00
|
|
|
|
2021-10-14 16:54:05 -07:00
|
|
|
//! `schala-lang` is where the Schala programming language is actually implemented.
|
2018-11-11 18:04:44 -08:00
|
|
|
//! It defines the `Schala` type, which contains the state for a Schala REPL, and implements
|
|
|
|
//! `ProgrammingLanguageInterface` and the chain of compiler passes for it.
|
|
|
|
|
2018-03-23 18:43:43 -07:00
|
|
|
extern crate schala_repl;
|
2018-10-19 09:57:35 -07:00
|
|
|
extern crate schala_lang_codegen;
|
2019-09-18 01:58:38 -07:00
|
|
|
extern crate derivative;
|
2018-03-23 18:43:43 -07:00
|
|
|
|
2019-02-17 03:36:12 -08:00
|
|
|
#[macro_use]
|
2018-05-10 22:23:42 -07:00
|
|
|
mod util;
|
2021-10-27 01:11:46 -07:00
|
|
|
|
2019-03-08 01:15:19 -08:00
|
|
|
#[macro_use]
|
2021-10-27 01:11:46 -07:00
|
|
|
mod type_inference;
|
2019-03-08 01:15:19 -08:00
|
|
|
|
2018-06-04 19:25:40 -07:00
|
|
|
mod ast;
|
2017-10-23 00:45:01 -07:00
|
|
|
mod parsing;
|
2019-08-30 19:03:52 -07:00
|
|
|
#[macro_use]
|
2018-05-20 20:36:57 -07:00
|
|
|
mod symbol_table;
|
2019-02-17 03:36:12 -08:00
|
|
|
mod builtin;
|
2021-10-14 04:11:53 -07:00
|
|
|
mod error;
|
2021-10-21 15:23:48 -07:00
|
|
|
mod reduced_ir;
|
|
|
|
mod tree_walk_eval;
|
2021-10-25 17:13:34 -07:00
|
|
|
#[macro_use]
|
|
|
|
mod identifier;
|
2017-10-23 00:45:01 -07:00
|
|
|
|
2019-07-11 19:21:23 -07:00
|
|
|
mod schala;
|
2018-10-20 14:27:00 -07:00
|
|
|
|
2021-10-31 03:30:45 -07:00
|
|
|
pub use schala::{Schala, SchalaConfig};
|