Hacker News new | ask | show | jobs
by dorkmind 1836 days 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.