Commit Graph

  • db0b791b24 cl-ast: Fix pretty-printing for use items John 2024-04-29 16:19:52 -0500
  • 7c73fd335c cl-typeck: Store def metadata in a Node John 2024-04-29 15:40:30 -0500
  • d7ce33e457 cl-arena: Allow the arena to hold its own lifetime. John 2024-04-28 02:01:52 -0500
  • 0d937728ed cl-structures: Mention new structures in the top-module blurb John 2024-04-27 21:15:45 -0500
  • a8ef989084 cl-structures/stack: only drop if T needs drop John 2024-04-27 21:08:09 -0500
  • e7c5a02afa cl-structures: Fully remove unused arenas v2 sources John 2024-04-27 20:36:03 -0500
  • 12046fa9f7 cl-structures/intern: Fix doc comment John 2024-04-27 20:26:45 -0500
  • fb7de717d0 cl-structures: Remove arena.rs and hashbrown dependency John 2024-04-27 20:24:42 -0500
  • 3fe5916a4f cl-ast: Switch from old string interner to new string interner John 2024-04-27 20:24:11 -0500
  • 2c57f848ea cl-structures: Fix doctest in deprecated_intern_pool John 2024-04-27 20:19:46 -0500
  • 81cf05cc69 cl-structures: Interning v3: ACTUALLY DO THE THING John 2024-04-27 20:16:36 -0500
  • 83423f37be cl-arena: Make arena constructors const fn John 2024-04-27 16:52:20 -0500
  • ecf97801d6 cl-typeck: Use helper functions on module to insert into the various namespaces John 2024-04-27 16:10:22 -0500
  • 71745161c4 sample-code: Add example "module-hell.cl" demonstrating inter-module imports and path resolution John 2024-04-27 16:08:26 -0500
  • 9566f098ac cl-typeck: Remove NameCollectable trait, use NameCollector instead :D John 2024-04-27 16:05:40 -0500
  • b9085551e1 cl-typeck: Reimplement NameCollectable in terms of an AST visitor John 2024-04-27 15:51:37 -0500
  • a877c0d726 cl-arena: Add arena allocator implementation based HEAVILY on rustc-arena John 2024-04-26 00:02:50 -0500
  • 893b716c86 cl-structures: Rename the deprecated "intern pool" (lmao) John 2024-04-25 23:53:44 -0500
  • e49b171bea Rename DefItem/DefSource/DefSorcerer to better reflect their meaning John 2024-04-25 16:07:26 -0500
  • 901e9d1d5b cl-typeck: Remove nightly-only debug_closure_helpers John 2024-04-25 15:55:32 -0500
  • aa3f357fca conlang: Misc. doc fixes John 2024-04-24 20:05:55 -0500
  • d4432cda7a cl-structures: Give the StringArena a new home. John 2024-04-24 19:52:56 -0500
  • 40ec9b30e4 conlang: Use interned strings (Sym) for all symbols John 2024-04-24 19:34:29 -0500
  • ede00c3c86 cl-structures: Cleanup for GlobalSym John 2024-04-24 18:11:21 -0500
  • be604b7b45 cl-structures: Use hashbrown's hash table implementation for deduplication. John 2024-04-24 17:43:02 -0500
  • e70ffd1895 cl-structures: Global (ew!) and local string interning! John 2024-04-24 17:11:41 -0500
  • f24bd10c53 cl-structures: intern_pool isn't unsafe John 2024-04-24 17:00:58 -0500
  • 8453b092f1 cl-typeck: Fix list in doc comment getting mistaken for a doctest John 2024-04-24 16:50:30 -0500
  • 42307d2ab4 cl-typeck: Sketch out a new way to store definition metadata John 2024-04-22 23:17:50 -0500
  • 45d75bb552 cl-structures: Make Span and Loc functions const (now you can make a const Span!) John 2024-04-22 21:44:12 -0500
  • b74c4cd5bf cl-parser: Forego RAII scopeguard finalization pattern in impl Fold for ModuleInliner John 2024-04-22 21:43:30 -0500
  • 0c518b47e6 cl-ast: Give Path some inherent methods John 2024-04-22 21:04:30 -0500
  • 169f61144b cl-ast: Fix typo in ast_impl::convert impl From<AsRef<str>> for PathPart John 2024-04-22 20:52:12 -0500
  • a3a87e0b67 test.cl: Fix moved i32 to module ::num John 2024-04-22 15:47:37 -0500
  • ed9b73a1a3 repline: Remove default-features from crossterm, since we don't use the event API John 2024-04-22 02:18:57 -0500
  • 9b11543396 Update readme.md John 2024-04-22 02:06:46 -0500
  • 2ed8481489 cl-repl: Switch from argh to argwerk John 2024-04-22 02:03:04 -0500
  • a3bb1ef447 stdlib: fix errant let in test.cl John 2024-04-22 02:02:25 -0500
  • f483d690e2 Revert "Cargo.toml: Add documentation key" John 2024-04-22 00:07:44 -0500
  • 087969e117 Cargo.toml: Add documentation key John 2024-04-21 23:49:24 -0500
  • 116d98437c cl-typeck: Promote some top-module notes to doc comments John 2024-04-21 23:42:45 -0500
  • 8121c1c8bb Move typeck.rs from cl-repl to cl-typeck John 2024-04-21 23:41:38 -0500
  • 2a5e965edf sample-code: Add hello.cl John 2024-04-21 23:07:16 -0500
  • bf16338166 cl-typeck: Outline all modules. John 2024-04-21 23:05:06 -0500
  • 9449e5ba06 cl-typeck: Sketch out a new path resolver algorithm, and reparent some unused cruft John 2024-04-21 22:48:52 -0500
  • b796411742 cl-typeck: Module imports v0.1 John 2024-04-21 22:43:25 -0500
  • ef190f2d66 cl-structures: Add get_many_mut implementation for Pool (currently delegates to unstable std) John 2024-04-21 22:32:47 -0500
  • 9c3c2e8674 cl-parser: Implement a module inlining pass John 2024-04-21 22:31:01 -0500
  • 02323ae6f2 cl-parser: Sync error::Parsing with cl-ast John 2024-04-21 21:20:55 -0500
  • e36a684422 grammar: Make UseTree less ultra-janky John 2024-04-21 18:57:46 -0500
  • 5341631781 conlang: Add constructor expression for structs! John 2024-04-20 15:02:16 -0500
  • efd442bbfa conlang: Import items into scope with use! John 2024-04-20 14:51:54 -0500
  • 9dc0cc7841 cl-interpret: Give the interpreter a little love John 2024-04-19 10:49:25 -0500
  • 90a3818ca0 conlang: Move all cl-libs into the compiler directory John 2024-04-19 07:39:23 -0500
  • 2a62a1c714 repline: Promote to its own crate! John 2024-04-19 07:30:17 -0500
  • 01ffdb67a6 cl-ast: Add Fold and Visit traits, to more easily map or collect nodes in the AST John 2024-04-19 03:21:07 -0500
  • de024b6cb7 cl-repl: Remove references to the old Resolver John 2024-04-19 03:01:24 -0500
  • 2834e4a8ea cl-ast: Fix typo in format.rs John 2024-04-19 02:47:55 -0500
  • 4ff101f0ee yaml.rs: Fix extraneous pair in While John 2024-04-18 23:58:44 -0500
  • 1fa027a0c2 cl-ast: Move AST into its own module John 2024-04-18 21:31:46 -0500
  • 9a687624fc stdlib: Add some funky syntax tests John 2024-04-18 21:10:11 -0500
  • e102ae25b4 typeck.rs: Make the REPL output a little less unreadable John 2024-04-18 21:05:59 -0500
  • a56ee38b15 cl-parser: General cleanup and maintenance - Made infallible rules infallible - Don't double-check keywords where keywords are required. - Of course, this change means rules aren't self-contained - Rename the Call precedence level - Made member-access operators left-associative - Removed the useless Nothing error type. :( John 2024-04-18 21:04:16 -0500
  • f315fb5af7 cl-ast: Overhaul pretty-printing using std::fmt::Write adapters. John 2024-04-18 20:47:28 -0500
  • e4f270da17 cl-ast: Re-order items for aesthetic reasons John 2024-04-18 20:22:08 -0500
  • 17a522b633 cl-parser: Make break bodies actually optional John 2024-04-18 16:42:48 -0500
  • 736fc37a81 repline: Remove Ignore trait, make debug output backspace-able John 2024-04-18 01:56:45 -0500
  • 02b775259e cl-ast: Change loop expression to take any expression as its argument, for later desugaring. John 2024-04-18 01:53:32 -0500
  • 00d72b823a conlang: Add unconditional loop expression, for desugaring John 2024-04-17 00:29:09 -0500
  • ec1a1255ad cl-structures: Add helper for getting index from pool. May delete later. John 2024-04-16 23:48:05 -0500
  • 0e8b4f68c3 repline: Word-deletion, and proper history reloading! John 2024-04-16 23:47:10 -0500
  • eee9e99aed cl-ast: add todo about slice and array type-expressions John 2024-04-16 23:46:24 -0500
  • f6e44f3773 cl-ast: Print space between items :-) John 2024-04-16 23:45:54 -0500
  • 9e90eea7b6 cl-typeck: Computer! Define "types!" John 2024-04-16 23:45:24 -0500
  • 83694988c3 cl-ast: Let Ty handle the complexities of VariantKind::Tuple's type list John 2024-04-16 20:40:02 -0500
  • 98868d3960 cl-ast: allow TyRef to be mutable yaml.rs: Print AddrOf and TyRef the same way John 2024-04-16 20:35:27 -0500
  • 75adbd6473 cl-ast: Separate function *signature* from function bindings, for cl-typeck John 2024-04-16 20:31:23 -0500
  • d0ed8309f4 cl-ast: Don't store type metadata in TyTuple. Allow arbitrary TyKind in TyFn args. John 2024-04-14 23:16:35 -0500
  • 0fab11c11b cl-parser: Fix visability qualifier coming before attributes while parsing Item John 2024-04-14 23:13:17 -0500
  • f958bbcb79 cl-ast: Hash everything John 2024-04-14 23:11:48 -0500
  • d07a3e1455 cl-ast: Separate Display impl for Ty and TyKind John 2024-04-14 23:10:02 -0500
  • 489a1f7944 cl-structures: Give Pool an iterator over its keys John 2024-04-14 23:09:12 -0500
  • bc33b60265 cl-parser: Parse Impl/ImplKind John 2024-04-14 18:01:58 -0500
  • 89cd1393ed cl-ast: Give Impl/ImplKind some love John 2024-04-14 18:01:30 -0500
  • 3bebac6798 cl-parser: cleanup doc comments + add new error type John 2024-04-14 17:59:29 -0500
  • 6ea99fc6f5 cl-ast: Fix formatting for Index expression John 2024-04-13 23:26:06 -0500
  • 6589376870 Update .gitignore John 2024-04-13 03:38:32 -0500
  • fc3cbbf450 Conlang v0.0.5: Pratternization v0.0.5 John 2024-04-13 03:33:26 -0500
  • 2c36ccc0cf cl-parser: Misc. cleanup John 2024-04-13 03:02:54 -0500
  • 265db668ed cl-parser: Reword an error message John 2024-04-13 02:57:29 -0500
  • fa51f14db5 Remove collect-identifiers example John 2024-04-13 02:54:30 -0500
  • 3b0190b389 cl-interpret: remove Loc from error type This allows removal of intermediate expression metadata from the AST John 2024-04-13 02:54:02 -0500
  • 21c9909f0c cl-token: make Token fields public No sense in having them private, they're just plain old data. John 2024-04-13 02:48:16 -0500
  • 290ede2fa3 cl-token: Break operators into their own separate enum, to make future pratt parsing easier John 2024-04-12 16:20:24 -0500
  • 2091cce570 cl-token: Rename Type to TokenKind, Data to TokenData to match the project's general style John 2024-04-12 14:36:26 -0500
  • 902494e95a cl-token: Merge token_type::Type and token_type::Keyword into a single enum John 2024-04-12 14:25:49 -0500
  • a213c7f70a grammar: Minor cleanup, fix compat with Grammatical parser John 2024-04-11 19:59:00 -0500
  • 8dfddb739e cl-ast: Remove unused monovariant MemberKind enum John 2024-04-06 01:03:01 -0500
  • a31d285d99 grammar.ebnf: Clean up grammar - TODO: Member access is totally broken lmao John 2024-04-06 01:02:31 -0500
  • a036ce260d cl-ast: Add doc comments for every node This improves the rustdoc output somewhat John 2024-04-03 13:19:57 -0500