Conceptive C
()
About this ebook
Conceptive-C is an AI programming Language based on Objective-C and C Language. It is a superset of both languages and is designed to work with Apple Mac OS X and iOS. The implementation is currently under development for GNU GCC.
Conceptive C uses concepts to program natural language and Artifical Intelligence based computer language based on Objective C.
One of the first computer programs that I saw was in an Advert for the Apple II. Someone was typing in questions and the computer was answering them.
Having a conversation with the computer seemed like an easy thing to do, only it’s not.
Computers still have problems understanding English or Natural language. It didn’t matter. I got hooked on programming computers. First in Basic, then 6502 Assembler, then Forth and C language.
I have always wanted to write a computer program that I could have a conversation with, I have thought about it over the years and I think I am a lot nearer to having a computer program that can understand English.
In a sort of you can’t get there from here, I figured out that I needed to make a language that would allow me to program AI ideas and concepts. I have done a bit of object programming using Objective C. I liked the way that Objective C added just enough to C to allow for programming of Objects.
I wanted to do the same thing using Conceptive C to program idea’s and concepts.
Harry McGeough
Harry lives in London. He is a computer programmer. He ran an Internet web hosting company and now writes books and movie scripts. His first movie is called Pub Crawl about drinking and gambling in Camden Town. He is working on making a movie of Megachrist.com, so if you like the book go see the movie... but the book has better special effects.
Read more from Harry Mc Geough
The Black Arts Rating: 0 out of 5 stars0 ratingsMEK Robot War Rating: 0 out of 5 stars0 ratingsSex Drugs Death Rating: 2 out of 5 stars2/5Megachrist.com Rating: 0 out of 5 stars0 ratings
Related to Conceptive C
Related ebooks
Instant MinGW Starter Rating: 0 out of 5 stars0 ratingsQt5 C++ GUI Programming Cookbook Rating: 0 out of 5 stars0 ratingsC++ Programming Cookbook Rating: 0 out of 5 stars0 ratingsComputer Architecture Rating: 5 out of 5 stars5/5Boost.Asio C++ Network Programming - Second Edition Rating: 0 out of 5 stars0 ratingsModern C++ Programming: Including the recent standards C++11, C++17, C++20, C++23 Rating: 0 out of 5 stars0 ratingsLLVM Cookbook Rating: 1 out of 5 stars1/5Mastering C: A Comprehensive Guide to Proficiency in The C Programming Language Rating: 0 out of 5 stars0 ratingsBare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers Rating: 0 out of 5 stars0 ratingsJetpack Compose 1.5 Essentials: Developing Android Apps with Jetpack Compose 1.5, Android Studio, and Kotlin Rating: 0 out of 5 stars0 ratingsHands-On Design Patterns with C++: Solve common C++ problems with modern design patterns and build robust applications Rating: 0 out of 5 stars0 ratingsMulticore DSP: From Algorithms to Real-time Implementation on the TMS320C66x SoC Rating: 0 out of 5 stars0 ratingsBeginning C: From Beginner to Pro Rating: 0 out of 5 stars0 ratingsUpdate to Modern C++ Rating: 0 out of 5 stars0 ratingsBoost.Asio C++ Network Programming Cookbook Rating: 0 out of 5 stars0 ratingsLearn Multithreading with Modern C++ Rating: 0 out of 5 stars0 ratingsGetting Started with LLVM Core Libraries Rating: 0 out of 5 stars0 ratingsLearn C++ by Example: Covers versions 11 to 23 Rating: 0 out of 5 stars0 ratingsThe Strange Case of Dr. Jekyll and Mr. Hyde (Illustrated) Rating: 4 out of 5 stars4/5OpenGL Foundations: Taking Your First Steps in Graphics Programming Rating: 0 out of 5 stars0 ratingsProfessional C++ Rating: 3 out of 5 stars3/5Rust In Practice: A Programmers Guide to Build Rust Programs, Test Applications and Create Cargo Packages Rating: 0 out of 5 stars0 ratingsHands-On System Programming with C++: Build performant and concurrent Unix and Linux systems with C++17 Rating: 0 out of 5 stars0 ratingsLearning Rust Rating: 0 out of 5 stars0 ratingsMastering C++ Network Automation Rating: 0 out of 5 stars0 ratingsQt 5 Blueprints Rating: 4 out of 5 stars4/5Real-Time Embedded Systems Rating: 0 out of 5 stars0 ratings
Computers For You
Elon Musk Rating: 4 out of 5 stars4/5The ChatGPT Millionaire Handbook: Make Money Online With the Power of AI Technology Rating: 4 out of 5 stars4/5Standard Deviations: Flawed Assumptions, Tortured Data, and Other Ways to Lie with Statistics Rating: 4 out of 5 stars4/5Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 4 out of 5 stars4/5Uncanny Valley: A Memoir Rating: 4 out of 5 stars4/5Slenderman: Online Obsession, Mental Illness, and the Violent Crime of Two Midwestern Girls Rating: 4 out of 5 stars4/5Alan Turing: The Enigma: The Book That Inspired the Film The Imitation Game - Updated Edition Rating: 4 out of 5 stars4/5The Invisible Rainbow: A History of Electricity and Life Rating: 5 out of 5 stars5/5The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution Rating: 4 out of 5 stars4/5Excel 101: A Beginner's & Intermediate's Guide for Mastering the Quintessence of Microsoft Excel (2010-2019 & 365) in no time! Rating: 0 out of 5 stars0 ratingsHow to Create Cpn Numbers the Right way: A Step by Step Guide to Creating cpn Numbers Legally Rating: 4 out of 5 stars4/5CompTIA Security+ Get Certified Get Ahead: SY0-701 Study Guide Rating: 5 out of 5 stars5/5Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Rating: 4 out of 5 stars4/5The Hacker Crackdown: Law and Disorder on the Electronic Frontier Rating: 4 out of 5 stars4/5Deep Search: How to Explore the Internet More Effectively Rating: 5 out of 5 stars5/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5The Professional Voiceover Handbook: Voiceover training, #1 Rating: 5 out of 5 stars5/5Procreate for Beginners: Introduction to Procreate for Drawing and Illustrating on the iPad Rating: 5 out of 5 stars5/5The Best Hacking Tricks for Beginners Rating: 4 out of 5 stars4/5Python Machine Learning By Example Rating: 4 out of 5 stars4/5ChatGPT 4 $10,000 per Month #1 Beginners Guide to Make Money Online Generated by Artificial Intelligence Rating: 0 out of 5 stars0 ratingsCompTIA IT Fundamentals (ITF+) Study Guide: Exam FC0-U61 Rating: 0 out of 5 stars0 ratings101 Awesome Builds: Minecraft® Secrets from the World's Greatest Crafters Rating: 4 out of 5 stars4/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Learning the Chess Openings Rating: 5 out of 5 stars5/5Tor and the Dark Art of Anonymity Rating: 5 out of 5 stars5/5
Reviews for Conceptive C
0 ratings0 reviews
Book preview
Conceptive C - Harry McGeough
Preface
While writing this book I started quoting from Wikipedia. Then including sections, then whole parts of Wiki... I would highly recommend using http://www.wikipedia.com In fact there is quite a bit from Wiki in the book now. I do plan to edit some of it out.
This did start out as a simple question and answer Bot and grew. I now have an Apple 4S with Siri. So I have been exploring Wolfram Alpha’s website.
I’m still trying to understand how I think to develop the language. It’s a hunch, I have that it should be possible to write a program that understands things, if the right tools are available. I am hoping some of the stuff from Wiki will lead to improvements in Conceptive C Language.
I’m still not sure just yet whether Conceptual-C is in fact a conceptual Language. It is possible that in designing it, I may find that Objective-C already does what I’m trying to do. I’m still not at the stage of knowing what needs to go into the compiler yet.
What a month this has been first Steve Jobs (February 24, 1955 – October 5, 2011) of Apple died. My first computer was an Apple II, then I had a PC, then a Macintosh, a NEXT Station and my current computer, which I’m very happy with is an iMac. I saw Steve live at some of the Apple WWDC (developer conferences) and visited the Apple campus. I want to get an iPad and yes, I use an iPhone too.
Sad to that John McCarthy (September 4, 1927 – October 23, 2011) died just this week. He coined the term "artificial intelligence" (AI), invented the Lisp programming language and was highly influential in the early development of AI.
These things always seem to happen in three’s now I’ve hear that Denis Ritchie (September 9, 1941 - October 12, 2011) is dead. He created C programming Language. He was the ‘R’ in K&R book The C Programming Language
.
I’ve included Lisp and AI in this book, because I feel it will help in implementing Conceptive-C. I have also included a sections on Memes, Mind Uploading, Neural Nets, The Chinese Room, and Bots, as interesting possible AI future ideas. They may get cut in the next version.
Articles used from Wikipedia
AI http://en.wikipedia.org/wiki/Artificial_intelligence
C Language http://en.wikipedia.org/wiki/C_(programming_language)
Objective-C http://en.wikipedia.org/wiki/Objective-C
Lisp Language http://en.wikipedia.org/wiki/Lisp_(programming_language)
Idea http://en.wikipedia.org/wiki/Idea
Concept http://en.wikipedia.org/wiki/Concept
Memory http://en.wikipedia.org/wiki/Memory
Mind http://en.wikipedia.org/wiki/Mind
Meme http://en.wikipedia.org/wiki/Meme
Cell http://en.wikipedia.org/wiki/Cell
Soul http://en.wikipedia.org/wiki/Soul
Understanding http://en.wikipedia.org/wiki/Understanding
Consciousness http://en.wikipedia.org/wiki/Consciousness
Basic English http://en.wikipedia.org/wiki/Basic_english
Word List http://en.wiktionary.org/wiki/Appendix:Basic_English_word_list
Chinese Room http://en.wikipedia.org/wiki/Chinese_room
Mind Uploading http://en.wikipedia.org/wiki/Mind_uploading
Internet Bots http://en.wikipedia.org/wiki/Internet_bot
AIML http://en.wikipedia.org/wiki/AIML
Natural Language
Conceptive C uses concepts to program natural language and Artifical Intelligence based computer language based on Objective C.
One of the first computer programs that I saw was in an Advert for the Apple II. Someone was typing in questions and the computer was answering them. Having a conversation with the computer seemed like an easy thing to do, only it’s not.
Computers still have problems understanding English or Natural language. It didn’t matter. I got hooked on programming computers. First in Basic, then 6502 Assembler, then Forth and C language.
I have always wanted to write a computer program that I could have a conversation with, I have thought about it over the years and I think I am a lot nearer to having a computer program that can understand English.
In a sort of you can’t get there from here, I figured out that I needed to make a language that would allow me to program AI ideas and concepts. I have done a bit of object programming using Objective C. I liked the way that Objective C added just enough to C to allow for programming of Objects.
I wanted to do the same thing using Objective C to program idea’s and concepts. Primarily I was thinking of using Conceptive C to program AI or Natural Language problems. The first program would be able to understand Basic English.
Basic English
Basic English (British American Scientific International Commercial) is a constructed (made-up) language to explain complex thoughts with 850 basic English words chosen by Charles Kay Ogden.
So I am looking to have a program that understands 850 Basic English words.
What is an idea? What s a concept? How do we understand something? What is meaning? How do people think about things?
If you take English you can break it down into words and sentences.
Sentences are built using words. Words have meanings. Words can be nouns, pronouns, verbs, adjectives or adverbs.
Can we represent knowledge using words in a way that a computer can use to understand the meaning of words being expressed.
A baby starts with very few words that have limited meaning. Most parents are happy enough once the baby can say one word Mommy
or Daddy
and it attach to mean that person.
If that is all the language that we learned it would be al that useful. Small children learn new words all the time and by the time they are say five years old they may already know 1,000 to 1,500 words and speak in sentences.
A definition of a word will use other words, which will each have definitions.
If we lookup word Idea, we get:
Definition of Idea: noun, a concept or mental impression.
So if we now lookup Concept, we get:
Definition of Concept: noun, an abstract idea.
Definition of Abstract: adjective, existing in thought or as an idea but not having a physical or concrete existence.
Definition of Noun: a word (other than a pronoun) used to identify any of a class of people, places, or things ( common noun ), or to name a particular one of these ( proper noun ).
Definition of Adjective: a word or phrase naming an attribute, added to or grammatically related to a noun to modify or describe it.
The point I am making is the Idea definition uses concept to describe itself and the definition of Concept uses idea to describe itself.
I’m using the Apple dictionary for the definitions. Idea actually had 3 definitions:
1. a thought or suggestion as to a possible course of action.
(the idea) the aim or purpose.
Philosophy (in Platonic thought) an eternally existing pattern of which individual things in any class are imperfect copies.
Word Definition
How do we get a definition that a computer can use to understand what a word means?
It seems like a problem if all words are defined with other words, that may not get us any meaning but lead us into circles of frustration.
It’s more akin to how do we think or how do we understand the mean of a word.
Let’s take a simpler word like Cat.
Definition of Cat:
noun
1. a small domesticated carnivorous mammal with soft fur, a short snout, and retractile claws. It is widely kept as a pet or for catching mice, and many breeds have been developed.
2 informal (particularly among jazz enthusiasts) a person, esp. a man.
Here are two different meanings a small furry anima, most people would mean this.
If you said I have a cat
I would know what you mean and maybe even picture a cat in my minds eye.
Let’s look at Mind:
Definition of Mind:
noun
1 the element of a person that enables them to be aware of the world and their experiences, to think, and to feel; the faculty of consciousness and thought: as the thoughts ran through his mind, he came to a conclusion | people have the price they are prepared to pay settled in their minds.
• a person's mental processes contrasted with physical action: I wrote a letter in my mind.
2 a person's intellect: his keen mind.
• a person's memory: the company's name slips my mind .
• a person identified with their intellectual faculties: he was one of the greatest minds of his time.
3 a person's attention: I expect my employees to keep their minds on the job.
the will or determination to achieve something: anyone can lose weight if they set their mind to it.
verb [ with obj. ]
1 [ often with negative ] be distressed, annoyed, or worried by: I don't mind the rain.
• have an objection to: what does that mean, if you don't mind my asking? | [ with clause ] : do you mind if I have a cigarette?
• [ with negative or in questions ] (mind doing something) be reluctant to do something (often used in polite requests): I don't mind admitting I was worried.
• (would not mind something) informal used to express one's strong enthusiasm for something: I wouldn't mind some coaching from him!
2 regard as important; feel concern about: never mind the opinion polls | [ no obj. ] : why should she mind about a few snubs from people she didn't care for?
• [ with clause in imperative ] dated used to urge someone to remember or take care to bring about something: mind you look after the children.
• [ no obj. ] (also mind you) used to introduce a qualification to a previous statement: we've got some decorations up—not a lot, mind you.
• [ no obj. ] informal used to make a command more insistent or to draw attention to a statement: be early to bed tonight, mind.
• be obedient to: you think about how much Cal does for you, and you mind her, you hear?
• Scottish: I mind the time when he lost his false teeth.
3 take care of temporarily: we left our husbands to mind the children while we went out.
• [ in imperative ] used to warn someone to avoid injury or damage from a hazard: mind your head on that cupboard!
• [ in imperative ] be careful about the quality or nature of: mind your manners!
4 [ with infinitive ] (be minded) chiefly formal be inclined or disposed to do a particular thing: he was minded to reject the application | the Board was given leave to object if it was so minded.
Mind can be a noun or a verb. That’s quite a complex definition. If I read it as a person I have a context and understanding of many word already in place. So it might mean something to me.
A computer would need a file of the text, which it would scan into memory. It could quite easily parse the text into words. Even group the words into sentences. But know what a word means or understand what a sentence is about and we start getting into some complex programming.
A problem is we have a mind, we understand thing, know what words mean, but how do we describe these things in ways that they can be replicated by a computer.
What we do have is computers can store something in a variable or represent things symbolically.
But I can look at my pet cat and know it’s a cat, a small black cat or little Lion.
Visual recognition for computers will come at some time, in fact I’m sure there are some very good programs that can do that now.
For the moment I am sticking to words, so what I want is something like in a question and answer situation, if I ask a computer:
Q: What is a Cat?
A: A small domesticated carnivorous mammal with soft fur, a short snout, and retractile claws.
If I get that, that’s fine. To do that the computer does not need to be conscious or have a real understanding of what a cat is or even have seen a real cat. If I can get it to do those things too, that would be a bonus.
So why am I calling this language Conceptive C?
Well I am trying to program using concepts to allow a computer to get some understanding or meaning about what it is talking about and be able to create new sentences that make sense. So the computer can have a conversation.
The main building block of Conceptive C, is a concept or an abstract idea.
Going back to the Apple Dictionary:
concept |ˈkänˌsept|
noun
an abstract idea; a general notion: structuralism is a difficult concept | the concept of justice.
• a plan or intention; a conception: the center has kept firmly to its original concept.
• an idea or invention to help sell or publicize a commodity: a new concept in corporate hospitality.
Philosophy an idea or mental picture of a group or class of objects formed by combining all their aspects.
How do we implement that in code? Is it a new kind of object?
In Object Oriented Programming
by Brad J. Cox, one of the inventors of Objective-C, he describes the counterparts of objective programming in conventional operator programming as:
object a block of data
object id pointer to block of data
method apply function to data
What I need from Conceptual programming is the ability to learn or re-define itself. A concept is not fixed it can change and be updated, by new data and facts that don’t fit the original model that we had when we started programming the problem.
Machine Learning
I am talking about machine learning. This is more akin to an interpreter, rather than a compiler. Let’s look at these definitions:
compile |kəmˈpīl|
verb [ with obj. ]
1. produce (something, esp. a list, report, or book) by assembling information collected from other sources: the local authority must compile a list of taxpayers.
• collect (information) in order to produce something: the figures were compiled from a survey of 2,000 schoolchildren.
• accumulate (a specified score): the 49ers have compiled a league-leading 14–2 record.
2. Computing (of a computer) convert (a program) into a machine-code or lower-level form in which the program can be executed.
interpreter |inˈtərpritər|
noun
a person who interprets, esp. one who translates speech orally.
Computing a program that can analyze and execute a program line by line.
Compiler Changes
In computing terms we have compilers and interpreters:
Compiler:
A computer program that can convert a program into a machine-code or lower-level form in which the program can be executed.
Interpreter:
A program that can analyze and execute a program line by line.
We have the concepts of run-time and compile-time. What happens when we run a program and what happens when we compile it. When we compile it , usually we get an executable file that we can run. When we run it we get something that we have programmed executing on the computer. An Interpreter takes our program and goes straight to the run stage, a line at a time.
How is this different with a compiled program that can do machine learning?
Well we compile and run our program as normal, but while the program is running if it decides that something meets certain parameters, the program will compile new code into its executable, to allow it to do a new function. This could result in the executable file or a new data file being added to the programs executable file.
Know Thyself
If we where really clever, we could write a program that knows nothing, but can learn everything. I don’t think I’m that clever.
I do think one of the core concepts that we will need is the ability to know when we don’t know something. We do need the ability to realize that something is new and can be added to our program. Or for instance we currently have no apples. For instance:
Q: How many Apples do you have?
A: I have no Apples.
Q: I have given you an Apple how many Apples do you have now?
Q: I have one Apple.
This is like an empty object that would still have knowledge about what kind of object it might be, but a value of zero. Or maybe we owe someone 5 Apples, so we would know what an Apple is, know that we have no Apples and know that we need 5 Apples to repay a debt.
AI
Artificial intelligence (AI) is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as the study and design of intelligent agents
where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success. John McCarthy, who coined the term in 1956, defines it as the science and engineering of making intelligent machines.
The field was founded on the claim that a central property of humans, intelligence—the sapience of Homo sapiens—can be so precisely described that it can be simulated by a machine. This raises philosophical issues about the nature of the mind and the ethics of creating artificial beings, issues which have been addressed by myth, fiction and philosophy since antiquity. Artificial intelligence has been the subject of optimism, but has also suffered setbacks and, today, has become an essential part of the technology industry, providing the heavy lifting for many of the most difficult problems in computer science.
AI research is highly technical and specialized, deeply divided into subfields that often fail in the task of communicating with each other. Subfields have grown up around particular institutions, the work of individual researchers, the solution of specific problems, longstanding differences of opinion about how AI should be done and the application of widely differing tools. The central problems of AI include such traits as reasoning, knowledge, planning, learning, communication, perception and the ability to move and manipulate objects. General intelligence (or strong AI
) is still among the field's long term goals.
History
Thinking machines and artificial beings appear in Greek myths, such as Talos of Crete, the bronze robot of Hephaestus, and Pygmalion's Galatea. Human likenesses believed to have intelligence were built in every major civilization: animated cult images were worshipped in Egypt and Greece and humanoid automatons were built by Yan Shi, Hero of Alexandria and Al-Jazari. It was also widely believed that artificial beings had been created by Jābir ibn Hayyān, Judah Loew and Paracelsus. By the 19th and 20th centuries, artificial beings had become a common feature in fiction, as in Mary Shelley's Frankenstein or Karel Čapek's R.U.R. (Rossum's Universal Robots). Pamela McCorduck argues that all of these are examples of an ancient urge, as she describes it, to forge the gods
. Stories of these creatures and their fates discuss many of the same hopes, fears and ethical concerns that are presented by artificial intelligence.
Mechanical or formal
reasoning has been developed by philosophers and mathematicians since antiquity. The study of logic led directly to the invention of the programmable digital electronic computer, based on the work of mathematician Alan Turing and others. Turing's theory of computation suggested that a machine, by shuffling symbols as simple as 0
and 1
, could simulate any conceivable act of mathematical deduction. This, along with concurrent discoveries in neurology, information theory and cybernetics, inspired a small group of researchers to begin to seriously consider the possibility of building an electronic brain.
The field of AI research was founded at a conference on the campus of Dartmouth College in the summer of 1956.