Thx a lot for the nice words pona-a. Here is my presentation of principia at the IWP9 workshop if you are interested: https://www.youtube.com/watch?v=blVTDhr4QN8
What is the difference with ATD: https://atd.readthedocs.io/en/latest/atd-project.html which also was designed with algebraic data types in mind?
Not sure you really need GADTs for the instruction set. A separate arg8 and arg16 ADT types would be enough, so you would have | Add8 of arg8 * arg8
Why OCaml? It's a great language to write programs that works on complex data structures, e.g. ASTs. This choice was actually not very original: people in academia at stanford, berkeley, Microsoft research used OCaml…
Shameless plug, but this was also showing the content of the file! https://github.com/facebook/pfff/wiki/CodeMap There are lots of examples of OSS projects visualized here:…
I think it's more related to Prolog than functions. In prolog you can use a predicate in many ways. For example append(L1, L2, L3) declared that the concatenation of the list L1 and L2 result in L3, but you can use it…
OCaml uses green threads where you can cooperate (yield()) or be preempted every 50ms.
Suicide seems a bit extreme. Could she not just quit? Also everyday people commit suicide. Why do we blame CEOs for that?
There is one such tool for C: coccinelle http://coccinelle.lip6.fr/
So? Is it shorter? How much shorter? How does Go improve over C? Just curious.
I count more than 30 000 LOC at https://github.com/JeffBezanson/femtolisp
You can use mk, the successor to make, which does not have the TAB requirement (you can use TAB or spaces interchangeably). Regarding JSON, it is more verbose than Make. You need to use quote around strings, commands,…
What about an Emacs-like editor fully written in OCaml: https://github.com/aryx/fork-efuns Easy to write an Emacs plugin then ...
Regarding the tangle barrier issue, there is a tool that helps: https://github.com/aryx/syncweb It allows to modify both the original WEB document and code and keep them in sync.
99% of the computer graphics you see on your screen everyday are made of simple lines, circles, curves, and text in 2D. 3D is useful mostly for games, movies, and CAD software. I don't understand this over focus on 3D.…
There is one book doing that: http://the-knowledge.org/en-gb/the-book/ It's a great book.
An old solution to this problem was the Logic File System https://en.wikipedia.org/wiki/Logic_File_System (disclaimer: I am one of the author).
So I guess this medium post will eventually be part of his own list.
Look at the ulix-book-0.13.nw file. It is the literate document. It contains all the code for the kernel.
There are many ways to avoid the boilerplate you mention. The deriving ppx extension is one of them. I personaly used my own poor's-man-deriving called ocamltarzan which I used in pfff to factorize boilerplate by using…
> Using a not very popular programming language can actually make it harder for you to hire people. Some evidence this is just not true: http://gazagnaire.org/pub/SSGM10.pdf
OCaml had a time-traveling debugger for 20 years now. Good job catching on. (to be fair it got full stack back trace only since 2000 so far later than Perl for that).
I use CodeMap[1] which is a kind of google maps but where the countries are the code, and CodeGraph[2] which helps to understand code dependencies at different granularities (package, module, files, functions). [1]…
Seems similar to what ocamldebug does in ocaml (which itself was copied from the SML debugger).
One thing to consider though is the grepability of a codebase. By relying more on nested modules, module aliases, opens, local opens, then many constructors have more than one way to be written and it makes it harder…
Thx a lot for the nice words pona-a. Here is my presentation of principia at the IWP9 workshop if you are interested: https://www.youtube.com/watch?v=blVTDhr4QN8
What is the difference with ATD: https://atd.readthedocs.io/en/latest/atd-project.html which also was designed with algebraic data types in mind?
Not sure you really need GADTs for the instruction set. A separate arg8 and arg16 ADT types would be enough, so you would have | Add8 of arg8 * arg8
Why OCaml? It's a great language to write programs that works on complex data structures, e.g. ASTs. This choice was actually not very original: people in academia at stanford, berkeley, Microsoft research used OCaml…
Shameless plug, but this was also showing the content of the file! https://github.com/facebook/pfff/wiki/CodeMap There are lots of examples of OSS projects visualized here:…
I think it's more related to Prolog than functions. In prolog you can use a predicate in many ways. For example append(L1, L2, L3) declared that the concatenation of the list L1 and L2 result in L3, but you can use it…
OCaml uses green threads where you can cooperate (yield()) or be preempted every 50ms.
Suicide seems a bit extreme. Could she not just quit? Also everyday people commit suicide. Why do we blame CEOs for that?
There is one such tool for C: coccinelle http://coccinelle.lip6.fr/
So? Is it shorter? How much shorter? How does Go improve over C? Just curious.
I count more than 30 000 LOC at https://github.com/JeffBezanson/femtolisp
You can use mk, the successor to make, which does not have the TAB requirement (you can use TAB or spaces interchangeably). Regarding JSON, it is more verbose than Make. You need to use quote around strings, commands,…
What about an Emacs-like editor fully written in OCaml: https://github.com/aryx/fork-efuns Easy to write an Emacs plugin then ...
Regarding the tangle barrier issue, there is a tool that helps: https://github.com/aryx/syncweb It allows to modify both the original WEB document and code and keep them in sync.
99% of the computer graphics you see on your screen everyday are made of simple lines, circles, curves, and text in 2D. 3D is useful mostly for games, movies, and CAD software. I don't understand this over focus on 3D.…
There is one book doing that: http://the-knowledge.org/en-gb/the-book/ It's a great book.
An old solution to this problem was the Logic File System https://en.wikipedia.org/wiki/Logic_File_System (disclaimer: I am one of the author).
So I guess this medium post will eventually be part of his own list.
Look at the ulix-book-0.13.nw file. It is the literate document. It contains all the code for the kernel.
There are many ways to avoid the boilerplate you mention. The deriving ppx extension is one of them. I personaly used my own poor's-man-deriving called ocamltarzan which I used in pfff to factorize boilerplate by using…
> Using a not very popular programming language can actually make it harder for you to hire people. Some evidence this is just not true: http://gazagnaire.org/pub/SSGM10.pdf
OCaml had a time-traveling debugger for 20 years now. Good job catching on. (to be fair it got full stack back trace only since 2000 so far later than Perl for that).
I use CodeMap[1] which is a kind of google maps but where the countries are the code, and CodeGraph[2] which helps to understand code dependencies at different granularities (package, module, files, functions). [1]…
Seems similar to what ocamldebug does in ocaml (which itself was copied from the SML debugger).
One thing to consider though is the grepability of a codebase. By relying more on nested modules, module aliases, opens, local opens, then many constructors have more than one way to be written and it makes it harder…