-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
elixir-maybe
A simple implementation of the Maybe type in Elixir, intended as an introduction to Functors, Applicative Functors and Monads
-
cardano-ledger-specs
Discontinued The ledger implementation and specifications of the Cardano blockchain. [Moved to: https://github.com/input-output-hk/cardano-ledger]
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
[Plutus](https://iohk.io/en/research/library/papers/functional-blockchain-contracts/) ([github](https://github.com/input-output-hk/plutus)) is a set of libraries written in the Haskell language that allow you to write off-chain and on-chain code in a single Haskell source file. The on-chain source code defines the validation scripts that should be attached to utxos and will guard their consumption in subsequent transactions (validators have type `Datum -> Redeemer -> ScriptContext -> Bool`). - The on-chain code gets compiled down to a more minimal language called Plutus Core. The off-chain source code is responsible for querying the blockchain and constructing valid transactions for submission into the blockchain to evolve smart contract state. Off-chain code is evaluated in by the user's wallet or dApp frontend, while on-chain code is evaluated by a validator node (e.g. a stakepool node) for each input utxo to be consumed by a submitted transaction.
I mean, I could be ignorant about Elixir, but the first thing you do when programming in a language like Kind, Agda, is modeling your problem with types. Everything follows from that. Elixir doesn't even have sum types! It seems like you can't even express very basic concepts like List, Either, Maybe, List, Monad directly. Let alone more sophisticate concepts like subsets, propositional equality, logical negation? I see libs like this which "implement" half-baked, wrong versions of these concepts in contrived ways. Let me know if I'm wrong, but if you can't even translate the first lines of a Kind program in Elixir, I really can't see it as the same thing, at all. Not being elitist! Just saying these are not the same - and that is okay.
I mean, I could be ignorant about Elixir, but the first thing you do when programming in a language like Kind, Agda, is modeling your problem with types. Everything follows from that. Elixir doesn't even have sum types! It seems like you can't even express very basic concepts like List, Either, Maybe, List, Monad directly. Let alone more sophisticate concepts like subsets, propositional equality, logical negation? I see libs like this which "implement" half-baked, wrong versions of these concepts in contrived ways. Let me know if I'm wrong, but if you can't even translate the first lines of a Kind program in Elixir, I really can't see it as the same thing, at all. Not being elitist! Just saying these are not the same - and that is okay.
Plutus != Haskell, it is significantly simplified version of Haskell. It is a DSL. Besides in Cardano they also have Glow, which is a very nice looking language. For now Glow compiles to EVM but there are working for it to compile to Plutus Core. (https://developers.cardano.org/en/programming-languages/glow/getting-started/glow-tutorial/). Glow is quite similar to Reach Lang ( https://github.com/reach-sh/reach-lang), which as you may know or not is being adopted for Algorand.
Another thing I should mention is that, if you look at the Cardano smart contract integration formal specification, it actually contemplates the potential co-existence of multiple smart contract scripting languages, of which Plutus V1 is merely the first one.