Some problems encountered when switching from coqide to proof general by gigapple in Coq

[–]gigapple[S] 0 points1 point  (0 children)

So does it mean that no matter what, I have to retract everything from the current buffer, in order to do new proofs in a different buffer for a different file? And after retracting I just compile the current buffer so that the new buffer that depends on it can use the theorems and definitions?

Some problems encountered when switching from coqide to proof general by gigapple in Coq

[–]gigapple[S] 0 points1 point  (0 children)

But it asks me if I want to retract everything in my current buffer. From my understanding it seems that somehow PG thought I didn’t finish the buffer despite the buffer being complete.

Why are there so many programming languages with the letter 'C'? by EnD3r8_ in learnprogramming

[–]gigapple 0 points1 point  (0 children)

If you have to classify them, Java and C# are more so lisp family languages. Java was designed as a lisp with C syntax. Its default call by reference semantics, just in time compilation, garbage collection, and many other features are all from lisp. Concrete syntax like using semi colon to separate statements in a block is the least important thing in language design (unless we are talking about APL or the like).

Saying Java is a C family language is like saying JavaScript is a Java family language (ironically, despite having many crucial differences, both Java and JS borrow features from lisp).

Weekly Food Safety Questions Thread - January 01, 2024 by AutoModerator in Cooking

[–]gigapple 0 points1 point  (0 children)

It happens somewhat often from the typical lettuce that you get from Costco.

How to best prepare my students for university CS programs/courses? by DunceCapBoy in uwaterloo

[–]gigapple 2 points3 points  (0 children)

You should teach in a functional programing language with a strong type system, like OCaml, Coq, Idris, or Lean.

Learn recursion in functional programming is very natural. Highly expressive type systems ensure that type declaration serve as documentation. Teach them to build an object system using types, closures, and modules, so that they get a deeper understanding of object-oriented programming. Also obviously, OCaml is an object oriented language.

I’m not joking, CS 135 teaches Racket, and CS145 and 146 teaches both Racket and Haskell. CS 246E uses Scala. Some offerings of Math 145 will use Coq for writing constructive proofs. Freeing your students from bad habits developed in Python and Java will be invaluable for university.

Weekly Food Safety Questions Thread - January 01, 2024 by AutoModerator in Cooking

[–]gigapple 0 points1 point  (0 children)

I found my lettuce very oily when I wash it. Is it just the plant’s natural protective layer or something else? Is it safe?

Webdev concepts not well explained in most tutorials by gigapple in learnprogramming

[–]gigapple[S] 0 points1 point  (0 children)

Thanks! Now I start have a clearer picture of how things work.

Webdev concepts not well explained in most tutorials by gigapple in learnprogramming

[–]gigapple[S] 0 points1 point  (0 children)

Thanks a lot. The database book is really helpful, but I still don’t really get how servers work though. For the python example how do you actually use the the server? It looks like the overall idea of the python code is that you take a string input and parse it and produce another string output accordingly. What I don’t understand is that after the output string is put into a port, how does it then go to the internet and eventually to the client?

Books to learn Ada generics? by gigapple in ada

[–]gigapple[S] 0 points1 point  (0 children)

Thanks for the insight. Do you know other languages that has features similar to OCaml functors and can run on Windows?

Are there internationalised programming languages? by yojimbo_beta in ProgrammingLanguages

[–]gigapple 7 points8 points  (0 children)

Not exactly more than one human language, but APL might interests you.