Skip to content

Instantly share code, notes, and snippets.

View madebyjeffrey's full-sized avatar

Jeffrey Drake madebyjeffrey

View GitHub Profile
//
// expected.hpp
// LiveNet
//
// Created by Jeffrey Drake on 1/3/2014.
// Copyright (c) 2014 Jeffrey Drake. All rights reserved.
//
#ifndef LiveNet_expected_hpp
#define LiveNet_expected_hpp

I think that folks are finally showing up to the Elixir party and (for the most part) liking what they see :)

I have only a small handful of criticisms after playing with Elixir for a while (which so far all seem like "Haskell is better in these areas," although I seem to still like Elixir better overall!)

  1. you can't define/override (per lexical scope) arbitrary infix operators, you are restricted to a small set. (In Haskell, for example, you can call any prefix function as an infix function.)

  2. you don't have any automatic currying. That's more Erlang's fault. Haskell has this, of course. In Elixir's defense, it's probably possible to define a curryable function definer using macros, like "defcurryable". Because, you know, what the hell CAN'T you do with macros? :) And Elixir has them.

  3. there is no clear distinction made between code with side effects and code without side effects. This is yet another thing I think Haskell gets right, because you can prove determinism when you can prove no side effe

This file has been truncated, but you can view the full file.
M190 S80.000000
M109 S235.000000
;Sliced at: Thu 23-06-2016 23:38:53
;Basic settings: Layer height: 0.2046 Walls: 0.7 Fill: 20
;Print time: 1 hour 4 minutes
;Filament used: 3.546m 10.0g
;Filament cost: None
;M190 S80 ;Uncomment to add your own bed temperature line
;M109 S235 ;Uncomment to add your own temperature line
G21 ;metric values
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or