4 ms·
If ML and C++ excites you, don't miss out on Felix. http://felix-Lang.org http://felix-Lang.org You will get more out of it if ML excites you more than C++, rat
by srean 11y ago
If ML and C++ excites you, don't miss out on Felix. http://felix-Lang.org http://felix-Lang.org
You will get more out of it if ML excites you more than C++, rather it is the possibility of talking to C++ with minimal or no glue that excites you.
It wont be totally wrong to say that it is to C++ what F# is to C#, or perhaps little more accurately Scala to Java.
It is plenty fast too. A toy brainfuck interpreter written in it turned out to be speedier than C++, D, Go, but got beaten by an interpreter written in nim. Can post the link once I get off the phone.
EDIT: Here it is https://github.com/kostya/benchmarks/blob/master/README.md#benchb https://github.com/kostya/benchmarks/blob/master/README.md#b...
Something I find interesting is that it has had fibres and coroutines long before go was a thing. The author(not me) used it in his projects on telco switches.
- nickpsecurity 11y agoAn interesting language. I'd like it if their performance charts had numbers on them instead of just the shapes. Leaves me guessing more than knowing.
- srean 11y agoPerformance charts on the website ? I had no idea even those where there on the website :) Could you post the link please. BTW the website is running on web-server written in Felix and the entire live install image can be browsed online.
- nickpsecurity 11y agohttp://felix-lang.org/speed/perf.fdoc http://felix-lang.org/speed/perf.fdoc
- srean 11y agoThat's the shootout benchmark codes, right ? Are you seeing charts there too ?! The website caches aggressively so it could be that I am seeing stale data. Let me check. Edit: Ah! they are here http://felix-lang.org/speed/ http://felix-lang.org/speed/ in their individual directories
- nickpsecurity 11y agoIm seeing charts which lack the data saying what they mean. Most others have numbers, indicate higher/lower is better for given benchmark, etc. That's my gripe.
- srean 11y agoOh I understood your gripe from the start. My confusion was that I couldn't locate the plots you were referring to. In any case these are not there to showcase Felix just a sanity check in the build process
- nickpsecurity 11y agoThanks for clarifying. That makes sense. I think they should do a showcase, though, as performance is a prime concern in language comparisons.
- srean 11y agoIndeed. Off topic: Given the description of your lisp tool I think you will find Clasp interesting unless you are the Clasp author :) https://github.com/drmeister/clasp https://github.com/drmeister/clasp
- nickpsecurity 11y agoYou're like the third person that's suggested that and joked about me being the author. I've been really crunched for time but I plan to get back into LISP soon. Might go ahead and add Clasp to my todo list for that haha. Anyway, I was mainly considering Racket for its powerful metaprogramming abilities, IDE, and their constant optimization of compiler. The enhanced metaprogramming should nicely help with a new instant of my platform given what I did with CL's macros & meta. Thoughts?
- nly 11y agoBenchmark is rubbish. The Nim version is using a standard nim 'table' for the bracket_map, which is a hash table. The C++ version is using std::map which is a red-black tree. A quick once-over with gprof shows the C++ interpreter running bench.b shows it is spending 30% of its time allocating rb-tree nodes and another 30% searching it. Swapping it out for a unordered_map (a hash table) actually makes it slower, but ~40% of the runtime is then sunk in to inserting in to the hash table. Probably allocating I couldn't be bothered to drill in any further.
- srean 11y agoJust so that you know neither the Felix author nor me are involved in the benchmark. More tellingly the benchmarked codes were user contributed. Regardless I did not get your point, just in case you had any. Different implementations used their idiomatic data structures and got what they got. You ranted about the choice and tried an alternative and it turned out to be slower and dismissed it entirely saying none of this is worth your time. And you said all these because ...? There is probably a reason and an underlying conclusion you wanted to convey, but frankly it escapes me so I couldn't be bothered with following up further on a middle brow dismissal either.
- stewbrew 11y agowrt felix: "Chat and Discussion: Facebook Group Felix Programming Language" This is acceptable for some ad hoc NGO initiative but it is ridiculous for a programming language project.
- srean 11y agoMost of the discussion is on google groups. Btw I think google groups is one of their shittiest services. They bought all the Usenet data, ran competition to the ground and then put the most ridiculously inefficient and annoying interface on top.