SlideShare a Scribd company logo
1 of 15
Download to read offline
OSDcLang
for mobile
  devices
Beginners
Languages
Low level,
stack based?
Functional,
loosely typed?
Object oriented,
 strictly typed?
Yes!
OSDcLang
 Simple syntax
   Expressive
3 Syntax Elements
      OSDc.
      OSDc?
      OSDc!
8 Commands
* OSDc. OSDc?
Move the Memory Pointer to the next array cell.
* OSDc? OSDc.
Move the Memory Pointer to the previous array cell.
* OSDc. OSDc.
Increment the array cell pointed at by the Memory Pointer.
* OSDc! OSDc!
Decrement the array cell pointed at by the Memory Pointer.
* OSDc. OSDc!
Read a character from STDIN and put its ASCII value into the cell at the Memory Pointer.
* OSDc! OSDc.
Print the character with ASCII value of the cell pointed at by the Memory Pointer.
* OSDc! OSDc?
Move to the command following the matching OSDc? OSDc! if the value in the cell
pointed at by the Memory Pointer is zero. Note that OSDc! OSDc? and OSDc? OSDc!
commands nest like pairs of parentheses, and matching pairs are defined in the same
way as for parentheses.
* OSDc? OSDc!
Move to the command following the matching OSDc! OSDc? if the value in the cell
pointed at by the Memory Pointer is non-zero.
OSDcLang is Turing complete

Trivially isomorphic to BrainF**k
OSDc. OSDc?   ==   >
OSDc? OSDc.   ==   <
OSDc. OSDc.   ==   +
OSDc! OSDc!   ==   ­
OSDc. OSDc!   ==   ,
OSDc! OSDc.   ==   .
OSDc! OSDc?   ==   [
OSDc? OSDc!   ==   ]
     >   ==   OSDc. OSDc?
     <   ==   OSDc? OSDc.
     +   ==   OSDc. OSDc.
     ­   ==   OSDc! OSDc!
     ,   ==   OSDc. OSDc!
     .   ==   OSDc! OSDc.
     [   ==   OSDc! OSDc?
     ]   ==   OSDc? OSDc!
So what does it look like?
  Very simple! Print “A”:
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.   OSDc. OSDc.    OSDc. OSDc.   OSDc. OSDc.
OSDc. OSDc.
OSDc! OSDc.
OSDcLang
Now on mobile, err, devices!

More Related Content

Similar to OSDcLang On Mobile Devices

Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins DockerAlex Soto
 
Rubish- A Quixotic Shell
Rubish- A Quixotic ShellRubish- A Quixotic Shell
Rubish- A Quixotic Shellguest3464d2
 
Static typing and proof in ATS language
Static typing and proof in ATS languageStatic typing and proof in ATS language
Static typing and proof in ATS languageKiwamu Okabe
 
Scripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without ApplescriptScripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without ApplescriptMatt Patterson
 

Similar to OSDcLang On Mobile Devices (7)

Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins Docker
 
Rubish- A Quixotic Shell
Rubish- A Quixotic ShellRubish- A Quixotic Shell
Rubish- A Quixotic Shell
 
Your code is not a string
Your code is not a stringYour code is not a string
Your code is not a string
 
gonzalo
gonzalogonzalo
gonzalo
 
Data compession
Data compession Data compession
Data compession
 
Static typing and proof in ATS language
Static typing and proof in ATS languageStatic typing and proof in ATS language
Static typing and proof in ATS language
 
Scripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without ApplescriptScripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without Applescript
 

More from Jonathan Oxer

Debian Package Caching Solutions
Debian Package Caching SolutionsDebian Package Caching Solutions
Debian Package Caching SolutionsJonathan Oxer
 
Software Freedom: Pragmatic Idealism?
Software Freedom: Pragmatic Idealism?Software Freedom: Pragmatic Idealism?
Software Freedom: Pragmatic Idealism?Jonathan Oxer
 
Encrypted password storage
Encrypted password storageEncrypted password storage
Encrypted password storageJonathan Oxer
 
How to grow your eBusiness and build an online community
How to grow your eBusiness and build an online communityHow to grow your eBusiness and build an online community
How to grow your eBusiness and build an online communityJonathan Oxer
 
Self-Healing Databases
Self-Healing DatabasesSelf-Healing Databases
Self-Healing DatabasesJonathan Oxer
 
How To Build A Website And Stay Sane
How To Build A Website And Stay SaneHow To Build A Website And Stay Sane
How To Build A Website And Stay SaneJonathan Oxer
 
Managing Source Code With Subversion
Managing Source Code With SubversionManaging Source Code With Subversion
Managing Source Code With SubversionJonathan Oxer
 
PHP Performance Profiling
PHP Performance ProfilingPHP Performance Profiling
PHP Performance ProfilingJonathan Oxer
 
Compiling kernels the Debian way
Compiling kernels the Debian wayCompiling kernels the Debian way
Compiling kernels the Debian wayJonathan Oxer
 

More from Jonathan Oxer (12)

Geek My Ride
Geek My RideGeek My Ride
Geek My Ride
 
Debian Package Caching Solutions
Debian Package Caching SolutionsDebian Package Caching Solutions
Debian Package Caching Solutions
 
Software Freedom: Pragmatic Idealism?
Software Freedom: Pragmatic Idealism?Software Freedom: Pragmatic Idealism?
Software Freedom: Pragmatic Idealism?
 
Encrypted password storage
Encrypted password storageEncrypted password storage
Encrypted password storage
 
How to grow your eBusiness and build an online community
How to grow your eBusiness and build an online communityHow to grow your eBusiness and build an online community
How to grow your eBusiness and build an online community
 
Self-Healing Databases
Self-Healing DatabasesSelf-Healing Databases
Self-Healing Databases
 
How To Build A Website And Stay Sane
How To Build A Website And Stay SaneHow To Build A Website And Stay Sane
How To Build A Website And Stay Sane
 
Managing Source Code With Subversion
Managing Source Code With SubversionManaging Source Code With Subversion
Managing Source Code With Subversion
 
Large Scale PHP
Large Scale PHPLarge Scale PHP
Large Scale PHP
 
PHP On Steroids
PHP On SteroidsPHP On Steroids
PHP On Steroids
 
PHP Performance Profiling
PHP Performance ProfilingPHP Performance Profiling
PHP Performance Profiling
 
Compiling kernels the Debian way
Compiling kernels the Debian wayCompiling kernels the Debian way
Compiling kernels the Debian way
 

Recently uploaded

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Recently uploaded (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

OSDcLang On Mobile Devices

  • 8. 3 Syntax Elements OSDc. OSDc? OSDc!
  • 9. 8 Commands * OSDc. OSDc? Move the Memory Pointer to the next array cell. * OSDc? OSDc. Move the Memory Pointer to the previous array cell. * OSDc. OSDc. Increment the array cell pointed at by the Memory Pointer. * OSDc! OSDc! Decrement the array cell pointed at by the Memory Pointer. * OSDc. OSDc! Read a character from STDIN and put its ASCII value into the cell at the Memory Pointer. * OSDc! OSDc. Print the character with ASCII value of the cell pointed at by the Memory Pointer. * OSDc! OSDc? Move to the command following the matching OSDc? OSDc! if the value in the cell pointed at by the Memory Pointer is zero. Note that OSDc! OSDc? and OSDc? OSDc! commands nest like pairs of parentheses, and matching pairs are defined in the same way as for parentheses. * OSDc? OSDc! Move to the command following the matching OSDc! OSDc? if the value in the cell pointed at by the Memory Pointer is non-zero.
  • 10. OSDcLang is Turing complete Trivially isomorphic to BrainF**k
  • 11. OSDc. OSDc? == > OSDc? OSDc. == < OSDc. OSDc. == + OSDc! OSDc! == ­ OSDc. OSDc! == , OSDc! OSDc. == . OSDc! OSDc? == [ OSDc? OSDc! == ]
  • 12.      > == OSDc. OSDc? < == OSDc? OSDc. + == OSDc. OSDc. ­ == OSDc! OSDc! , == OSDc. OSDc! . == OSDc! OSDc. [ == OSDc! OSDc? ] == OSDc? OSDc!
  • 13. So what does it look like? Very simple! Print “A”: OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc.  OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc. OSDc! OSDc.
  • 14.
  • 15. OSDcLang Now on mobile, err, devices!