
CommunityNews
OCaml from the Very Beginning
A book for those new to programming, or new to functional programming, or just new to OCaml.
- Preface
- Getting Ready
- 1. Starting Off
- 2. Names and Functions
- Note on Notation
- 3. Case by Case
- 4. Making Lists
- Two Different Ways of Thinking
- 5. Sorting Things
- Loading a Program from a File
- 6. Functions upon Functions upon Functions
- 7. When Things Go Wrong
- 8. Looking Things Up
- 9. More with Functions
- 10. New Kinds of Data
- 11. Growing Trees
- 12. In and Out
- 13. Putting Things in Boxes
- 14. The Other Numbers
- 15. The OCaml Standard Library
- 16. Building Bigger Programs
- Answers to Questions
- Hints for Questions
- Coping with Errors
Read in full here:
https://johnwhitington.net/ocamlfromtheverybeginning/
This thread was posted by one of our members via one of our news source trackers.
Popular Backend topics

Property-based testing helps you create better, more solid tests with little code. Use the PropEr framework in both Erlang and Elixir, to...
New

Elixir and OTP provide exceptional tools to build rock-solid back-end applications that scale. Build a web application in a radically dif...
New

You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) and functional prog...
New

Do less work when testing your Python code, but be just as expressive, elegant, and readable. The pytest testing framework helps you writ...
New

TDD is a modern programming practice that all C developers need to know. It’s a different way to program—unit tests are written in a tigh...
New

Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and gain mastery over the terminology and concepts that u...
New

Get ready for 25 teasers that will hone your Pandas skills and challenge your brain.
Miki Tebeka @tebeka
edited by Margaret Eldridge...
New

Erlang is the language of choice for programmers who want to write robust, concurrent applications, but its strange syntax and functional...
New

Develop your intuition for practical Python patterns as you use new modules and tools to write clean, efficient, and correct Python code....
New

Level up your Rust programming skills with a series of brain teasers as you discover some of the unexpected Rust behaviors and challenge ...
New
Other popular topics

Any thoughts on Svelte?
Svelte is a radical new approach to building user interfaces. Whereas traditional frameworks like React and Vue...
New

Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it.
Does your monitor have eye p...
New

There’s a whole world of custom keycaps out there that I didn’t know existed!
Check out all of our Keycaps threads here:
https://forum....
New

I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me.
I think the Planck and the Preonic (o...
New

The V Programming Language
Simple language for building maintainable programs
V is already mentioned couple of times in the forum, but I...
New

Seems like a lot of people caught it - just wondered whether any of you did?
As far as I know I didn’t, but it wouldn’t surprise me if I...
New

Intensively researching Erlang books and additional resources on it, I have found that the topic of using Regular Expressions is either c...
New

zig/http.zig at 7cf2cbb33ef34c1d211135f56d30fe23b6cacd42 · ziglang/zig.
General-purpose programming language and toolchain for maintaini...
New

I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc.
However, I don’t...
New

Hello,
I’m a beginner in Android development and I’m facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /ruby
- /wasm
- /erlang
- /phoenix
- /keyboards
- /rails
- /js
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /onivim
- /svelte
- /typescript
- /crystal
- /kotlin
- /c-plus-plus
- /tailwind
- /gleam
- /ocaml
- /react
- /flutter
- /elm
- /vscode
- /ash
- /opensuse
- /centos
- /php
- /deepseek
- /html
- /scala
- /zig
- /textmate
- /sublime-text
- /nixos
- /debian
- /lisp
- /react-native
- /agda
- /kubuntu
- /arch-linux
- /django
- /ubuntu
- /revery
- /manjaro
- /spring
- /nodejs
- /diversity
- /lua
- /c
- /slackware
- /julia
- /neovim