(編注ï¼2016/7/27ãé ãããã£ã¼ãããã¯ãå ã«è¨äºãä¿®æ£ãããã¾ããã) å¦çãã¡ããã次ã«å¦ã¶è¨èªã¯ã©ããããã®ãã¨ããèããã¾ããITæ¥çã§åããã人ã«ãè¦ãããã®ã¯ãç¾å¨çãã«ä½¿ããã¦ããè¨èªã§ããC++ãJavaãC#ã¯ãã¡ãããPythonãRubyãPHPãPerlãªã©ãæããããã§ãããã ä¸æ¹ãåå¦ã®ããã¨ãã人ããå¦è¡ç 究ãèµ·æ¥ã«é¢å¿ããã人ã«ã¨ã£ã¦ã次ã®è¨èªãé¸ã¶åºæºã¨ãªãã®ã¯ãå°±è·ã«æå©ãã§ã¯ãªãè¨èªã®è¡¨ç¾åã§ããããå¦è¡ç 究ãèµ·æ¥æ´»åãè¡ãã«ã¯ãããã°ã©ãã¨ãã¦ã®è½åãä½åã«ãé«ããå¿ è¦ãããã¾ããããã¦ãï¼ããããï¼ç¢ºç«ãããã³ã¼ããã¼ã¹ãæ±ã£ãçµé¨ã¯ãªãã§ããããããæå ã«ããã¿ã¹ã¯ã«ã¨ã£ã¦æé©ãªè¨èªãèªç±ã«é¸ã¶ãã¨ãã§ãã¾ãã ãã®è¨äºã§ã¯ãåå¼·ã«é©ããHaskellãScalaãMLãSchemeã¨ãã4ã¤ã®è¨èªããç§ã®å¥½ããªç¹å¾´ãåèè³æã®ãªã¹ãã¨
Now that OCaml 4.08 has been released, letâs have a look at what was accomplished, with a particular focus on how our plans for 4.08 fared. Iâll mostly focus on work that we in the Jane Street Tools & Compilers team were involved with, but we are just some of the contributors to the OCaml compiler, and Iâll have a quick look at the end of the post at some of the other work that went into 4.08. In
Write Yourself a Scheme in 48 Hoursã®æå¾ã®äºç« ããã£ã¦ãããå ¥åºåã¨æ¨æºã©ã¤ãã©ãªä½æã 第ä¹ç« ï¼å ¥åºå stdin, stdoutããã¡ã¤ã«ã«å¯¾ããå ¥åºåãå®è£ ããã github.com ä¾ã«ãã£ã¦ãHaskellã ã¨ã¢ãããåºç¾ãã¦ããããåãé å¼µããªãã¨ãããªããã©OCamlã ããã»ã»ã»ãã¨ããæ¡ä»¶ã Haskellã§ã¯IOã¢ããåã®ããã«æ°ããIOFuncå¼ãç¨æããããã¦ããããOCamlã ã¨æ®éã«ä»ã¾ã§éãPrimitiveFuncã«æ¾ãè¾¼ãã§ãããã type expt = (* çç¥ *) | PortIn of in_channel | PortOut of out_channel ã¨å ¥åºåç¨ã®channelãã©ããããPortIn/PortOutå¼ã¯ç¨æããããã¨ã¯Ioã¢ã¸ã¥ã¼ã«ã§ããã使ãé¢æ°ãå®ç¾©ããprimitives.mlã§
æ¦è¦ ããæè¿ä½ã£ã¦ããOCaml*1ã³ã³ãã¤ã©mlml*2ã§ã»ã«ããã¹ããéæãã¾ãããï¾ï½¯ï¾ï½° github.com mlmlã«ã¯ä»¥ä¸ã«ä»£è¡¨ããããããªãOCamlã®åºæ¬çãªæ©è½ãå®è£ ããã¦ãã¾ãã å帰é¢æ° ã´ã¡ãªã¢ã³ããã¬ã³ã¼ã ãã¿ã¼ã³ããã ã«ãªã¼å ã¢ã¸ã¥ã¼ã« ã¾ããå¤å°ã®æ¨æºã©ã¤ãã©ãªãå®è£ ããã¦ãã¾ãã mlmlã®ç¹å¾´ ã»ã¼ãã«ã¹ã¯ã©ãã ä»åLLVMããã¼ãµã¸ã§ãã¬ã¼ã¿ã«é ¼ããªãã³ã³ãã¤ã©ã¥ãããä½é¨ããã®ãç®çã®ä¸é¨ã ã£ãã®ã§ãçµæçã«ãã«ã¹ã¯ã©ããããããã¨*3ã«ãªãã¾ãããOCamlã®æ¨æºã©ã¤ãã©ãªä»¥å¤ã®å¤é¨ã©ã¤ãã©ãªã使ç¨ãã¦ããããåå¥è§£æå¨ã»æ§æ解æå¨ã¯ææ¸ãã§ãã OCamlã§æ¸ããã¦ãã ã»ã«ããã¹ãããã®ã§ããã¯ãããªãã§ãããOCamlã§æ¸ããã¦ãã¾ãã ã¾ããè¨èªå¦çç³»ãæ¸ãå ´åã©ã³ã¿ã¤ã ã©ã¤ãã©ãªã¯Cè¨èªã§ç¨æãã¦ãªã³ã¯ããå ´åãå¤ãã¨æãã¾ãã
Optimizing Pattern Matching Fabrice Le Fessant, Luc Maranget INRIA Roquencourt, B.P. 105, 78153 Le Chesnay Cedex, France (Email: {Fabrice.Le_fessant, Luc.Maranget}@inria.fr) Abstract: We present improvements to the backtracking technique of pattern-matching compilation. Several optimizations are introduced, such as commutation of patterns, use of exhaustiveness information, and control flow optimi
Dune comes with a library to query OS-specific information, called configurator. It is able to evaluate C expressions and turn them into OCaml value. Surprisingly, it even works when compiling for a different architecture. How can it do that? A CD-ROM problem Letâs take an old school example: suppose we want to eject a CD-ROM drive. On Linux, the way to do that is to open the device file such as /
Today, Electron is one of the most popular tools for building desktop apps - using an HTML, JS, CSS stack. However, it has a heavy footprint in terms of both RAM and CPU - essentially packing an entire browser into the app. Even with that tradeoff, it has a lot of great aspects - it's the quickest way to build a cross-platform app & it provides a great development experience - as can be testified
Haskell Advent Calendar jp 2010ã®ããã®ã¨ã³ããªã§ãï¼17æ¥ç®ï¼ï¼ 6æ¥ç®ã® id:camlspotterããã® çµé¨15å¹´ã®OCaml ã¦ã¼ã¶ã¼ã Haskell ãä»äºã§å年使ã£ã¦ã¿ã ã«å¯¾ããã«ã¦ã³ã¿ã¼ï¼ã«ãªã£ã¦ããã©ããåãããªãã§ããï¼ã¿ãããªæãã§ãï¼ è¿ãã¦é ãé£äººï¼Haskellã¨OCaml OCamlã¯Haskellã¨éã£ã¦å¯ä½ç¨ãããï¼æ´ã«HMåæ¨è«ããã¤ããããã°ã©ãã¯æ¬è³ªçãªé¨åã®è¨è¿°ã«æ³¨åãã¤ã¤ï¼ã³ã¼ãã®ãã¥ã¼ãã³ã°ãã§ããï¼ ã¤ã¾ãåãHaskellããã°ã©ããã·ãªã¢ã¹ãªã½ããã¦ã§ã¢ãæ¸ãæã«ä½¿ããã»ã¨ãã©å¯ä¸ã®é¸æè¢ã ï¼ãããï¼åãéçåä»ãã®é¢æ°åè¨èªã§ãããªããï¼OCamlã¨Haskellã®è¦ãç®ã¯ããªãç°ãªãï¼ ãã®è¨äºã§ã¯ï¼ Haskellããã°ã©ããOCamlã使ãå§ããã¨ï¼ã©ããããã©ããã«ãããããæ¸ãï¼ ãªãã§ãï¼
Our current OCaml best practices, part 1 It is useful to review your way to work every now and then In the developer world one of the most distinguishing facts about Issuu is that we use the OCaml programming language in production. Weâve been using it successfully for many years now and have developers specifically move to Denmark to work with us on OCaml code bases! In all of these years, the OC
åã®æå±ããç 究室ã§ã¯æ¯å¹´Software Foundationsã®è¼ªè¬ããã£ã¦ãããã§ããï¼Brzozowski derivativeã«åºã¥ãã¦æ£è¦è¡¨ç¾ã¨ã³ã¸ã³ãå®è£ ãï¼ãã¾ã¤ããCoqã§æ¤è¨¼ãã¦ãã¾ããã¨ãã£ãç·´ç¿åé¡ã追å ããã¦ãã¦å¤§å¤èå³æ·±ãã£ãã§ãï¼ æè§practicalãªããã°ã©ã ãæ¸ããã®ã«Coqã®ä¸ã«éãè¾¼ãã¦ããã®ãå¿ä½ãªãã§ããï¼ OCamlã§åæ§ã®æ£è¦è¡¨ç¾ã¨ã³ã¸ã³ãå®è£ ãï¼å®è¡é度ãè¦ã¦ã¿ããã¨æãã¾ãï¼ *1 2018/12/16 Brzozowski derivativeã®å®ç¾©ã«èª¤ãããã£ãããä¿®æ£ Brzozowski derivativeã¨ã¯ï¼ ããæ£è¦è¡¨ç¾ãåçããè¨èªã®å é ããï¼æåãåãé¤ãã¦å¾ãããè¨èª *2ãåçããæ£è¦è¡¨ç¾ãBrzozowski derivativeã¨ããï¼ä»¥ä¸ã®ããã«systematicã«æ±ãããã¾ãï¼ ããæ£è¦è¡¨ç¾ã空æååã
ML Day#2ãéå¬ãã¾ããã MLåå¼·ä¼ã¨ããååã«ãã¦ããã¨ãããæ°ãã¦éç®4åç®ã§ãã ä»åããã¯ã³ã´ããã®ã»ããã¼å®¤ããåããã¾ããã ãã®è¦æ¨¡ã®ã»ããã¼å®¤ã便å©ã«å©ç¨ã§ããã®ã¯æ¬å½ã«å©ããã¾ãã çºè¡¨ã®ç´¹ä» çºè¡¨æ 6 + LTæ 5ã®ãããã¦11ãã®çºè¡¨ãããã¾ãããçºè¡¨è ã®çæ§ã«æè¬ã§ãã ä»ã®ã³ãã¥ããã£ã ã¨å²ã¨çºè¡¨è ã®ç¢ºä¿ã«è¦å´ãã¦ããããããã§ããMLåå¼·ä¼ãããã¾ãå°ã£ããã¨ãããã¾ããã 以ä¸ã®ç´¹ä»ã¯ç§ã®ç解ã§ãã®ã§ä½ãè¨æ£ããã£ãããã¤ã¨ãã§ææãã ããããã ã©ãã«ãªããªãã·ã§ã³å¼æ°ã®ããã®åã·ã¹ãã ã¨åæ¨è« unlabeled-opt-args.pdf - Google ãã©ã¤ã æåã¯SATYSFIã§ã馴æã¿ã®@bd_gfngfnããã®çºè¡¨ã§ããã ãã®çºè¡¨ã¯SATYSFIåãã«ããªãã·ã§ã³å¼æ°ã®ããã®åã·ã¹ãã ã¨åæ¨è«ãèãã¦ã¿ãã¨ãã話ã§ããã Latex
OCaml is a great language. We looked really seriously at using it at my startup for some critical things a while ago, when the company was very young, because some of the team knew it and we were inheriting a small code base in it. Ultimately immaturity of tooling (eg ocamlp4 vs ppx) and near total lack of library support killed it for us. (We ultimately went with C++.) Good luck trying to use gRP
TypeORMã§ã¯ QueryRunner ã®ããããã£ããpgã®Pool ã¤ã³ã¹ã¿ã³ã¹ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã pgã®Pool ã¤ã³ã¹ã¿ã³ã¹ããã¯ãã¼ã«ã®ç¶æ ã確èªã§ããããããã£ãããã¾ãã totalCount - ãã¼ã«ã«ããã³ãã¯ã·ã§ã³ã®ç·æ° idleCount - ã³ãã¯ã·ã§ã³ãã¼ã«ã«ãã空ãã³ãã¯ã·ã§ã³æ° waitingCount - æ¥ç¶å¾ ã¡ã®ã³ãã¯ã·ã§ã³æ° ãã®ããããã£ããã°ã«åºåãã¦ãããã¨ã§ããã¼ã«ã®ãµã¤ãºã調æ´ããç®å®ã«ãããã¨ãã§ãã¾ãã QueryRunner㯠RepositoryãEntityManagerãªã©ããåç §ã§ããããããã°ã®åºåç¹ã«å°ããªãã¯ãã§ãã import { DataSource } from "typeorm"; import { Pool } from "pg"; const dataSource = new DataSou
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}