Skip to content

42dannywillems/Piscine.OCaml

Repository files navigation

Piscine.OCaml (OCaml pool)

What's a "pool" in 42 ?

42 organizes some "pools" (Piscines). These "pools" are there to learn a new language or a new paradigm in a very short period of time, from 2 weeks to 1 month.

There's a pool in C (a mandatory part to be authorized to go in 42), in C++, in web (HTML/CSS, PHP, Javascript/Ajax/JQuery), in Unity3D and in OCaml.

During this period of time, we have, each day of the week, a list of exercices to make for the next day. During the week-end, we have "rushes" or projects consisting of a problem to solve and we have to make it for the next monday.

As usual in 42, we don't have courses but small videos to present concepts of the day.

Pools are a good way to learn something because we have to learn fast each concepts and we can't continue without understood the past exercices. It's a very intensive pediod and we work around 8 hours a day (more for sometimes, depending on our level and the pool).

I can't diffuse the subjects.

What about the OCaml pool ?

This pool presents the functional paradigm with the OCaml language. It's in two weeks and there's 2 rushes. We learn the basics of OCaml, compilation methods, tail recursion, pattern matching, modules, advances types, variant types, polymorphic types, functors, etc (not exhaustive). We also learn the imperative and OOP parts of OCaml.

(description not exhaustive).

  • d00: basics type and functions.
  • d01: recursion, tail recursion
  • d02: pattern matching, records, variants, lists, parametric types, tuples.
  • d03: compilation, interpreter, link with external libraries, opam, binding to C libraries, file types.
  • d04: Module language.
  • d05: Imperative parts.
  • d06: functors.
  • d07: OOP (1/2)
  • d08: OOP (2/2)
  • d09: Monoids and monads.

We have also two rushes (after d04 and d09) and we manipulate graphics library such as SDL and GTK.

Releases

No releases published

Packages

No packages published