3 ms·
> This is a toy language implemented by a single person—use for quiet enjoyment only. Quiet enjoyment training! Soundless hedonism! Or would that be unsound he
by dorkmind 5y ago
> This is a toy language implemented by a single person—use for quiet enjoyment only.
Quiet enjoyment training! Soundless hedonism! Or would that be unsound hedonism? Am I breaking the rules of propositional logic or first-order?
Can I make quiet enjoyment the focus of my online persona? Hot Ziggity! I need some cheese and toast!
Edit: Will ya look at this!
Self-Hosted: self-hosted parser and interpreter are done, work on self-hosted transpiler to C for bootstrapping is around 90% complete.
Compiled: Foolang is intended to be capable of producing native, monolithic executables—without compromising the interactive development experience.
Performant: type-annotated and compiled Foolang code should perform about as well as equivalent -O0 C++ code. To be fair: this will require more effort from the compiler than C++, but not drastically so—a partial evaluation pass should cover most of it.
Type inference: while Foolang's typesystem should be considered weaksauce by today's standards, doing basic type inference is critical for the intendend functionality.
Supervised and isolated threads: Foolang threads will not share memory, hopefully providing a subtrate for fault tolerant computing akin to what Erlang does. (Unlike Erlang Foolang does allow thread-local side-effects.)
Smalltalkish development environment: while Foolang keeps it's code in files and allows you to use your favorite editor, it still wants to provide an integrated experience similar to Smalltalks.
Extensible syntax & code generation: Foolang is intended to offer a compile-time computation facility similar to Lisp's macros, allowing both syntactic convenience and ability to generate code.