Coder Social home page Coder Social logo

hpm-education-haskell's People

Contributors

dostrelith678 avatar gitbook-bot avatar gmoratorio avatar

Stargazers

 avatar

Watchers

 avatar

hpm-education-haskell's Issues

Introduction to Haskell

This is a repeat of the Introduction section. Remove or change Introduction to Haskell section?

Also, the italic descriptions of Haskell are mentioned they will be explored in more detail.

Would be cool to have all these terms linked to the sections in the book where they are specifically covered.

Animation #11

Lists -
Animation for the list examples. Illustrate how errors will occur if same element type is not used in list or list of lists.
Show the empty set and singleton special cases.

Animation #13

Tuples -
Animation showing Tuple example. Show difference between normal list and tuple. Demonstrate example(s) of common use of tuples and different "arity" making note that tuples must be finite and type must be known.
Show how tuple won't work in the Haskell type system if not defined properly or violate the definition.

Animation #6

Expressions -
Animation showing Lego/ building blocks illustrating functions to arguments. Show building blocks are made of expressions.
Show different examples of expressions. Example of reducible vs irreducible.

Animation #5

Loading Modules into GHCi -
Screen capture showing the triple function getting loaded into GHCi - show that file structure again to solidify understanding
that when loading one must be in the same directory the file is located in.

Also, maybe add a blurb about what the GHC interactive environment is and what it can do/ used for.

Animation #10

Static Type Check -
Animation to show expression type being known at compile-time vs run-time. Show that errors are found before running.
Show examples of type inference that Haskell automatically does. Show how this helps out the programmer by suggesting more concise code. Illustrate type signature example for Triple function and subsequent examples with error and polymorphism reference.

Animation #12

List Functions -
Illustrate the various list function examples. Cement the idea of immutability and demonstrate how lists are created with the operator cons ":" and empty list [ ].

Suggested remove sections

Perhaps we just remove "Pros and Cons" and "History of Haskell" sections. This is basically a quickstart guide/ tutorial for people that want to get the most efficient and practical jump into Plutus development... maybe leave those to the other more lengthy works out there on Haskell?

Maybe we could think of some pros and cons related to Plutus instead over time though instead of just general ones that other people already have come up with.

Animation #2

Function Programming vs Imperative Programming -
Animation for imperative C programming example and how it is instead handled in Haskell
Animation to demonstrate point that there are no variable assignments in Haskell, how = sign is used in Haskell.

Animation #7

Laziness -
Animation of a lazy Haskell logo to represent programming language. Someone poking with stick. Doesn't evaluate expressions until it is prompted to do so. Illustrate the examples. Show how the drawback can eat up lots of memory space and crash if all system memory is consumed.

Animation #9

Basic Types -
Animations for each of the types illustrating the examples.

Animation #8

Immutability -
Show what immutability is with examples of things that never change. No such thing as assignment in Haskell.

Animation #4

Haskell Modules -
Animation showing files/ file structure like most people are used to using a GUI operating system like Windows/ Mac to illustrate
modules. Show the .hs file extension and other examples most people are familiar with.
Include illustration for the module example and how to use comments - what they essentially do.

Animation #3

Installing Haskell -
Animations or screen captures for steps to install just for some visual support for those not already savvy looking
to get into Plutus dev. Think we will see a lot of people that weren't previously programmers wanting to get into
Plutus and smart contract development. Always going to keep that in mind as we flesh this out more. This is basically
an on-ramp for people of all skill levels that will literally provide the essentials in a way that clicks for most people.

Just how I'm thinking about this. Feel that is what you are going for just from what I've read thus far.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.