When comparing Idris vs Lobster, the Slant community recommends Lobster for most people. In the question“What are the best (productivity-enhancing, well-designed, and concise, rather than just popular or time-tested) programming languages?” Lobster is ranked 26th while Idris is ranked 29th. The most important reason people chose Lobster is:
Unlike Rust doesn't make the programmer jump through hoops, mainly automatic. Does an analysis similar to the Rust borrow checker to infer lifetimes, but makes life easier on the programmer.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Full dependent types
Idris not only has support for type classes, but is a fully dependently typed language, giving you the full power to statically verify your code.
Pro Domain driven design and type driven development
Because of full dependent types in Idris, the programmer can focus more on modelling the domain with types and waste less time fixing common bugs that the type checker will catch. Dependent types help apply type driven development and a lot of code auto generation, making the compiler and type checker an ally in developing working software instead of just getting in the way.
Pro Compile time reference counting
Unlike Rust doesn't make the programmer jump through hoops, mainly automatic. Does an analysis similar to the Rust borrow checker to infer lifetimes, but makes life easier on the programmer.
Pro Python-esque syntax
There's an audience who loves that.
Pro WebAssembly backend
More options for users.
Pro Inline structs
Structs are allocated in their parent, and come at zero overhead.
Pro Automatic memory management
Better than Rust. No sadism.
Pro Type inference algorithm
Just works. Goes further than most languages in terms of allowing code without types.
Cons
Con Not widely used
Con Not widely used
Con Weaker type inference
As type inference is undecidable for dependently-typed languages, Idris cannot offer the full type inference that Haskell supports, and so more type annotations will be needed.
Con Different semantics from Haskell
Idris, while similar to Haskell, has strict semantics, which may cause some confusion if your backend is done in Haskell. If using Idris, it would make sense to do the backend in Idris as well, if not for the fact that Idris currently has fewer libraries available for web development than Haskell.
Con Small community
Lead doesn't appear to be so ambitious or has a vision to push making more popular.
Con Compile time reference counting not 100%
Around 5% of time, need to escape to runtime reference counting. Working to get the percentage as low as possible.
Con Lobster not yet totally written in Lobster
Core written in C++. Plans to change that, but has been a long time.
Con Python-like syntax, but different use case and domain
Not Python compatible and often significantly different in purpose and use cases.