sequette-official
sequette-official
soon™
4 posts
Sequette! An effervescent little programming language I'm working on, built around lazy iterators and lambda functions. It's functional, it's quirky, and it's still a work in progress.
Last active 60 minutes ago
Don't wanna be here? Send us removal request.
sequette-official · 2 months ago
Text
Semifinals - Winners Bracket
Tumblr media Tumblr media
248 notes · View notes
sequette-official · 3 months ago
Text
i haven’t posted about it much but sequette is making massive progress, the parser is almost entirely done (the lexer has been done for a while) and then i can start evaluating actual expressions! i’m so excited to show y’all more of the language! (which will be easier once it actually works, haha)
3 notes · View notes
sequette-official · 4 months ago
Text
ughh i’ve been wracking my brain trying to think about how to parse binary operators and it turns out there’s a function that makes it wayyyy easier
0 notes
sequette-official · 4 months ago
Text
sequette can now parse sequence literals!
Tumblr media
(the blue text after the > > is the input code, the white text is the resulting syntax tree)
So, I guess this means you get to hear a little bit about them.
Sequences in sequette are pretty non-standard. Sequences are made up of zero or more frames, acting a lot like Rust's Tuples. Frames can contain any number of elements, and the types of those variables may differ, but all frames in a sequence must have the same structure. From the Rust perspective, sequences are akin to vecs of tuples, if tuples could have named elements as well.
Elements of a sequence may be given names, or left unnamed. If specified, the name must be given in the first frame only. For instance here, alpha refers to the first element of both frames, 1 and 3.
To access the different frames of a sequence, use square brackets. sequence[2] is the third frame in the sequence, since indexing starts at zero. To access individual elements, use sequence[2].alpha for named elements, or sequence[2].0 for unnamed elements.
The dot operator always acts on the first frame of the sequence it’s applied to, and the square brackets return a sequence with a single frame. Thus, sequence[0].alpha is equivalent to just sequence.alpha
Sequences are the main primitive for building compound objects in sequette, they serve as iterators, lists, tuples, and structs, very similar to tables in lua.
4 notes · View notes