microc alternatives and similar packages
Based on the "Web" category.
Alternatively, view microc alternatives based on common mentions on social networks and blogs.
-
scotty
Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp (Official Repository) -
haskell-bitmex-rest
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
swagger-petstore
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
servant
Main repository for the servant libraries — DSL for describing, serving, querying, mocking, documenting web applications and more! -
neuron
Future-proof note-taking and publishing based on Zettelkasten (superseded by Emanote: https://github.com/srid/emanote) -
haskell-kubernetes
Haskell bindings to the Kubernetes API (via swagger-codegen) -
airship
Helium + Webmachine = Airship. A toolkit for building declarative, RESTful web apps. -
apecs-gloss
a fast, extensible, type driven Haskell ECS framework for games -
digestive-functors
A general way to consume input using applicative functors -
tagsoup
Haskell library for parsing and extracting information from (possibly malformed) HTML/XML documents -
servant-elm
Automatically derive Elm functions to query servant webservices -
kubernetes-client-core
Haskell client for the kubernetes API. A work in progress. -
backprop
Heterogeneous automatic differentiation ("backpropagation") in Haskell -
engine-io
A Haskell server implementation of the Engine.IO and Socket.IO (1.0) protocols -
keera-hails-reactive-htmldom
Keera Hails: Haskell on Rails - Reactive Programming Framework for Interactive Haskell applications -
ghcjs-dom
Make Document Object Model (DOM) apps that run in any browser and natively using WebKitGtk
Build time-series-based applications quickly and at scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of microc or a related project?
README
MICROC compiler
microcCompilerLine :: String -> String
Convert a line of microc code to asm
microcCompilerStr :: String -> String
Convert microc code to asm
microcCompiler::IO()
Input:Stdin / Output:Stdout
microcCompilerFromFile:: String -> IO()
Input:Filename / Output:Stdout
Example1
module Main where
import ParseMicroc
main::IO()
main = microcCompiler
./microc < count.c > count.asm
count.c ``` c : count.c n=in; L1: out(n); unless(n) goto L2; n=n-1; goto L1; L2: halt; int n;
↓↓↓
count.asm
``` assembly:count.asm
IN
POP n
L1:
PUSH n
OUT
PUSH n
JZ L2
PUSH n
PUSHI 1
SUB
POP n
JMP L1
L2:
HALT
n: 0
Example2
module Main where
import ParseMicroc
main::IO()
main = do
args <- getArgs
microcCompilerFromFile $ head args
./microc count.c > count.asm
count.c ``` c : count.c n=in; L1: out(n); unless(n) goto L2; n=n-1; goto L1; L2: halt; int n;
↓↓↓
count.asm
``` assembly:count.asm
IN
POP n
L1:
PUSH n
OUT
PUSH n
JZ L2
PUSH n
PUSHI 1
SUB
POP n
JMP L1
L2:
HALT
n: 0
Hiroshima Univ. / Embedded Software
https://momiji.hiroshima-u.ac.jp/syllabusHtml/2017_58_U4090201.html