feat: broken

This commit is contained in:
2026-01-12 20:58:41 -05:00
parent 6418e05255
commit b588754552
2 changed files with 7 additions and 7 deletions

View File

@@ -78,17 +78,15 @@ func getToken(i *iterator.Iterator[rune]) (*Token, error) {
case letter == ';': case letter == ';':
return NewHardBreak(index), nil return NewHardBreak(index), nil
case letter == '#': case letter == '#':
// Skip everything until the next newline or EOF // Skip everything until the next newline or EOF.
for { for i.Done() {
if i.Done() {
break
}
r, err := i.Next() r, err := i.Next()
if err != nil { if err != nil {
return nil, trace.Wrap(err, "error while parsing comment") return nil, trace.Wrap(err, "error while parsing comment")
} }
if r == '\n' { if r == '\n' {
// Put the newline back so it can be processed as a soft break // Put the newline back so it can be processed as a soft break.
i.Back() i.Back()
break break
} }

View File

@@ -3,7 +3,9 @@
identity := \x.x # This is an end-of-line comment identity := \x.x # This is an end-of-line comment
# Define a simple function that applies a function twice # Define a simple function that applies a function twice
twice := \f.\x.(f (f x)) twice := \f.\x.(f
# Comments can be anywhere!
(f x))
# Test that comments don't interfere with expressions # Test that comments don't interfere with expressions
result := (twice identity VALUE) # Should just return VALUE result := (twice identity VALUE) # Should just return VALUE