4 ms·
Show HN: CLI for executing code in many different languages with Docker
- fit2rule 12y agoNeeds more Lua! :)
- andystanton 11y ago@fit2rule Support for Lua has been added in version 1.0.1
- shark234 12y agoInteresting. IMHO it seems useful for playing around with different languages, but not for using it more seriously. Anyway, it looks fun, good job :)
- andystanton 12y agoThanks! And you're right - it is not intended as a production tool.
- gnur 12y agoAs someone who wants to try a new language every month this is awesome! It is literally every language I ever tried, and then some, this certainly lowers the bar for me to try some more.
- andystanton 12y agoPolygluttony was my original reason for making this too - I wanted an easy way to run solutions to Project Euler problems in different languages. If you're interested each of the Docker Exec image repositories contains examples e.g. https://github.com/docker-exec/haskell/tree/v1.0.0/test https://github.com/docker-exec/haskell/tree/v1.0.0/test https://github.com/docker-exec/d/tree/v1.0.0/test https://github.com/docker-exec/d/tree/v1.0.0/test https://github.com/docker-exec/racket/tree/v1.0.0/test https://github.com/docker-exec/racket/tree/v1.0.0/test etc
- M8 12y agoWanted to ask which one, but both seem appropriate :): http://en.wikipedia.org/wiki/Common_Language_Infrastructure http://en.wikipedia.org/wiki/Common_Language_Infrastructure http://en.wikipedia.org/wiki/Command-line_interface http://en.wikipedia.org/wiki/Command-line_interface
- andystanton 12y agoHaha, I was going for the latter.
- ericmo 12y agoIs the C# code built with Mono?
- andystanton 12y agoThat's right @ericmo. The C# and F# Dockerfiles are derived from this Mono base image: https://github.com/docker-exec/base-mono/blob/v1.0.0/Dockerfile https://github.com/docker-exec/base-mono/blob/v1.0.0/Dockerf... as can be seen from their respective Dockerfiles: https://github.com/docker-exec/csharp/blob/v1.0.0/Dockerfile https://github.com/docker-exec/csharp/blob/v1.0.0/Dockerfile https://github.com/docker-exec/fsharp/blob/v1.0.0/Dockerfile https://github.com/docker-exec/fsharp/blob/v1.0.0/Dockerfile The actual execution invokes this script which calls mcs or fsharpc to compile, and then executes using the Mono runtime: https://github.com/docker-exec/image-common/blob/v1.0.0/dexec-mono-family.sh https://github.com/docker-exec/image-common/blob/v1.0.0/dexe...
- gizzlon 12y agoCool! The Perl one seems to be perl6, not perl5: https://github.com/docker-exec/perl/blob/master/Dockerfile https://github.com/docker-exec/perl/blob/master/Dockerfile Maybe you should rename it to Perl6? Perl 5 is still the standard in the Perl world..
- andystanton 11y ago@gizzlon @senorsmile perl 5 is now the default in the latest 1.0.1 release. perl6 is available too, either by using .p6 extension or specifying an override image with: dexec foo.pl --specify-image dexec/perl6
- andystanton 12y agoI didn't do my research @gizzlon - I assumed it was backwards compatible! Perhaps you can help - a quick Google suggests that a reasonable Perl 6 file extension is .p6 - is that standard in the Perl world? dexec chooses a Docker image based on file extension. I'm planning to allow this to be overridden anyway, but it would be great if there is an easy way to distinguish between Perl 5 and 6 source files.
- senorsmile 12y agoperl6 will definitely not backwards compatible. AFAICT, if any extension is used, it will probably still be '.pl'. the hash bang line (at least in unix land) determines the specific interpreter to use. Besides that, perl6 is not quite production ready (although this it is supposed to be christmas this year). Perl6 doesn't even have one specific implementation, although it sounds like the first production ready version will be rakudo on top of the MoarVM. Perl5 would be a much saner default. I would worry about supporting some version of perl6 at a later time. btw, cool tool!
- gizzlon 12y agoSure, I'll take a look at it tomorrow