Live data from Hacker News

Show HN: Fe – A tiny, embeddable language implemented in ANSI C

github.com

1–10 of 23 posts

Re: Show HN: Fe – A tiny, embeddable language implemented in ANSI C

#4
Nice. One of the things that always bothers me about "project" languages is (for lack of a better way to put it) the "look at how smart I am" bullshit that makes thinking about real problems hard and that authors of such projects seem unable to resist. At least from a cursory glance, this seems to avoid that. My first impression is that of a "more accessible Lisp". Interesting.

Re: Show HN: Fe – A tiny, embeddable language implemented in ANSI C

#5
Cool!

Something I wish project docs would always include is …why… and what. Why does fe exist? Why did the orignal author spend a span of 6mo on it? What can it do and what can't it do? Don't make people read between the lines. It can be just to learn and have fun! But please don't make me read between the lines.

The overview is interesting:

* Supports numbers, symbols, strings, pairs, lambdas, macros

* Lexically scoped variables, closures

* Small memory usage within a fixed-sized memory region — no mallocs

* Simple mark and sweep garbage collector

* Easy to use C API

* Portable ANSI C — works on 32 and 64bit

* Concise — less than 800 sloc

Since I work in embedded Linux systems I always like looking at small languages, using Lua at the moment. So it struck my interest, oooh this is interesting.

The single fixed allocation is interesting, and odd. It then has gc...so why On the not just use malloc the manage the pool? I wonder if the performance is that much better?

But beyond print there's no IO library, so I guess it's a "toy" language, maybe somewhere to learn a lisp flavor?

Re: Show HN: Fe – A tiny, embeddable language implemented in ANSI C

#6

Nice. One of the things that always bothers me about "project" languages is (for lack of a better way to put it) the "look at how smart I am" bullshit that makes thinking about real problems hard and that authors of such projects seem unable to resist. At least from a cursory glance, this seems to avoid that. My first impression is that of a "more accessible Lisp". Interesting.

I am not sure exactly what qualifies as ""look at how smart I am" bullshit", but as someone making a toy language, exploring how a concept taken to its extreme in a language re-contextualizes other features is the main purpose of making it.

I have made a fair number of decisions against ergonomics in favor of less objectively important ideals because I don't plan to support people working on real problems. However, I do plan to make a self-hosting compiler though so I will have to deal with any issues I do make.

> that authors of such projects seem unable to resist

It definitely is very tempting to add things beyond the scope of a useful language (at a toy scale). I restricted myself from most such things by requiring strict C compatibility. You can't have a fancy type system and interop with C strongly.

Re: Show HN: Fe – A tiny, embeddable language implemented in ANSI C

#7
post #5

Cool! Something I wish project docs would always include is …why… and what. Why does fe exist? Why did the orignal author spend a span of 6mo on it? What can it do and what can't it do? Don't make people read between the lines. It can be just to learn and have fun! But please don't make me read between the lines. The overview is interesting: * Supports numbers, symbols, strings, pairs, lambdas, macros * Lexically sco…

> Why does Fe exist.

Reply to one of the GitHub issues discusses it some[1].

>> What was the motivation to create fe if you already made aria?

> The same motivations I had writing aria: for the fun of programming it; trying to make something terse but still practical. Every line of code has a weight to it with consideration that would be unreasonable outside this kind of project: a project that exists just to exist. Each time you write something it becomes — or at least should become — more clear and more concise than the previous time, and if you repeat this, the original version is by comparison an over-engineered bloated mess. fe is a sequel to aria, and as such ended up smaller, simpler and faster

[1]: https://github.com/rxi/fe/issues/3

Re: Show HN: Fe – A tiny, embeddable language implemented in ANSI C

#8

Nice. One of the things that always bothers me about "project" languages is (for lack of a better way to put it) the "look at how smart I am" bullshit that makes thinking about real problems hard and that authors of such projects seem unable to resist. At least from a cursory glance, this seems to avoid that. My first impression is that of a "more accessible Lisp". Interesting.

I am not sure exactly what qualifies as ""look at how smart I am" bullshit", but as someone making a toy language, exploring how a concept taken to its extreme in a language re-contextualizes other features is the main purpose of making it. I have made a fair number of decisions against ergonomics in favor of less objectively important ideals because I don't plan to support people working on real problems. However, I…

> You can't have a fancy type system and interop with C strongly

ATS would disagree with this statement, strongly.

Re: Show HN: Fe – A tiny, embeddable language implemented in ANSI C

#9

Earlier quoted context omitted.

I am not sure exactly what qualifies as ""look at how smart I am" bullshit", but as someone making a toy language, exploring how a concept taken to its extreme in a language re-contextualizes other features is the main purpose of making it. I have made a fair number of decisions against ergonomics in favor of less objectively important ideals because I don't plan to support people working on real problems. However, I…

> You can't have a fancy type system and interop with C strongly ATS would disagree with this statement, strongly.

Please don't make me relive nightmares of trying to learn the language.

Re: Show HN: Fe – A tiny, embeddable language implemented in ANSI C

#10

Earlier quoted context omitted.

I am not sure exactly what qualifies as ""look at how smart I am" bullshit", but as someone making a toy language, exploring how a concept taken to its extreme in a language re-contextualizes other features is the main purpose of making it. I have made a fair number of decisions against ergonomics in favor of less objectively important ideals because I don't plan to support people working on real problems. However, I…

> You can't have a fancy type system and interop with C strongly ATS would disagree with this statement, strongly.

I haven't used ATS, but I don't think it interops strongly. Hows does calling a ATS function with fancy typed arguments from C work?

My idea of strong interop is not having to write any glue code at all and being able to call any function. I assume there are some types that don't interface with C well.

That said, thanks for mentioning it. I should keep it in mind as it does do some of the stuff I want my language to.

Post reply on HN