Monday, September 4, 2023

ICFP 2023 Links


https://icfp23.sigplan.org/

 https://www.youtube.com/live/BLnH93QcqGw?si=CTLj5LfaeR37QIE2

https://www.youtube.com/live/MZxLegtkUlk?si=aA_RkZOexouMlo-L


Monday, July 24, 2023

Haskell: The Cool and Fun Programming Language

Haskell is a programming language that is known for its elegance, power, and expressiveness. It is a pure functional language, which means that all computations are expressed in terms of functions. This makes Haskell code very concise and easy to read.

Haskell is also a very safe language. There are no side effects in Haskell, which means that you can be sure that your code will always behave as you expect it to. This makes Haskell a great choice for writing reliable and robust software.

In addition to being cool and powerful, Haskell is also a lot of fun to learn and use. The language's elegant syntax and powerful features make it a joy to program in.

Why is Haskell Cool?

There are many reasons why Haskell is considered to be a cool programming language. Here are a few of the most notable reasons:

Elegant syntax: Haskell's syntax is very elegant and concise. This makes it a pleasure to read and write Haskell code.

Powerful features: Haskell has a wide range of powerful features, including pattern matching, recursion, and lambda calculus. These features make Haskell a very versatile language that can be used to solve a wide variety of problems.

Safe and reliable: Haskell is a very safe and reliable language. There are no side effects in Haskell, which makes it a great choice for writing robust software.

Functional programming: Haskell is a pure functional language. This means that all computations are expressed in terms of functions. Functional programming is a powerful paradigm that can lead to more concise, elegant, and bug-free code.

Why is Haskell Fun?

In addition to being cool, Haskell is also a lot of fun to learn and use. Here are a few of the reasons why Haskell is so much fun:

Challenging: Haskell can be a challenging language to learn, but this challenge is also part of what makes it fun. Learning Haskell can help you to become a better programmer.

Rewarding: When you finally master a Haskell concept, it can be very rewarding. This feeling of accomplishment is one of the things that makes Haskell so much fun to learn.

Creative: Haskell is a very expressive language, which means that you can be creative with your code. This can lead to some very interesting and elegant solutions to problems.

Collaborative: There is a large and active Haskell community. This community is a great resource for learning Haskell and for getting help with problems.

Haskell is a cool and fun programming language that is worth learning. If you are looking for a language that is elegant, powerful, and safe, then Haskell is a great choice. And if you are looking for a language that is challenging, rewarding, and creative, then Haskell is also a great choice.

I hope you enjoyed this blog post about Haskell!

Thursday, April 16, 2020

Another place to find Learn You A Haskell For Great Good

Hello internet,
Link to:
Learn You a Haskell for Great Good.
I just need this online and on my desktop mostly because it's a great read

Many great thanks to the entire Haskell community.

Please learn more the haskell programming language @ haskell.org
The original can be found here: http://learnyouahaskell.com/

Farewell for now internet.

ps this is an old copy but still relevant.

Friday, February 12, 2016

Saturday, May 9, 2015

How to write a list in Haskell that is similar to this python code

How to write a list in Haskell that is similar to this python code
l1 = []
l1 * 5 
Thank you

You should not try to think in Haskell like you were in Python.
For example, you want to treat Haskell lists like Python lists. They are really different things though.
Lists in Haskell are to be read sequentially. Manipulating them with index is really inefficient. On the other side, Haskell lists are lazy.
infiniteList = repeat 0 -- Infinite list ? No problem, it is not yet evaluated
take 5 infiniteList     -- will return [0,0,0,0,0]
When you want to do computation on each element of your list, you will create a recursive function or use functions like map or fold, you won’t use a for loop like you would do in imperative languages.
If what you really want is to strictly hold 5 values (no less, no more), maybe a 5 element tuple is the way to go.

replicate 5 []
 

Friday, July 1, 2011

1 iteratee

I just read several tutorials on iteratee, i find that iteratee is
> similar to python's generator, both allow streamlined data
> processing. For example, i can implement enumFile and printChunks in
> python like this:
>
>     EOF = None
>     def enum_file(bufsize, filename):
>         with open(filename) as input:
>             while True:
>                 data = input.read(bufsize)
>                 if not data:
>                     break
>                 yield data
>         yield EOF
>
>     def print_chunks(print_empty, generator):
>         for chunk in generator:
>             if chunk==EOF:
>                 print 'EOF'
>                 return
>             if len(chunk)==0 and not print_empty:
>                 continue
>             print chunk
>
>     print_chunks(True, enum_file(2, "data"))
>
> But i find iteratee far more complicated than python's generator, is
> that because iteratee can do something python's generator can't, or i
> simply need to be more familar with functional programming style.